Что такое процедура в SQL

Разработчики могут использовать возможности SQL с помощью процедурных операторов, встроенных в Pl / SQL, поскольку Pl / SQL является блочно-структурированным языком. Хранимая процедура - это не что иное, как набор декларативных операторов SQL. Мы можем думать о процедуре как о функции или методе. Триггеры, другие процедуры или приложения на Java, PHP и т. Д. Могут быть использованы для вызова процедуры. Операторы блока передаются в движок Oracle одновременно, чтобы мы могли иметь высокую скорость обработки и уменьшить трафик.

Хранимая процедура похожа на блок кода, который мы можем сохранять и использовать снова и снова. Если у нас есть SQL-запрос, который мы используем несколько раз, поэтому вместо того, чтобы переписывать его снова, мы можем сохранить его как хранимую процедуру, а затем нам просто нужно вызвать его и выполнить. Мы также можем передать параметры в хранимую процедуру, чтобы получить выходные данные на основе значения параметра или переданных значений.

Что такое SQL?

Язык структурированных запросов (SQL) иногда произносится как отдельный символ «S-QL» или «see-Quel». Он используется для запроса, манипулирования или обновления данных в реляционной базе данных. Он используется для вставки, обновления или удаления записей в базе данных. Одна из основных функций SQL - поддержка базы данных.

Синтаксис запроса SQL для извлечения всех записей выглядит следующим образом:

выберите * из таблицы

Хранимые процедуры в SQL

Что такое хранимая процедура? Хранимая процедура - это набор операторов языка структурированных запросов (SQL) с назначенным ей именем. Эти хранимые процедуры хранятся в системе управления реляционными базами данных (RDBMS). Таким образом, возможно многократное обращение к процедурам, что сокращает количество выполнений и приводит к сокращению времени выполнения. Данные могут быть изменены с использованием процедур, и основным преимуществом является то, что они не привязаны к конкретному приложению.

Хранимые процедуры могут принимать параметры в качестве входных данных и могут возвращать несколько значений в качестве выходных параметров. В SQL Server хранимые процедуры выполняют операции в базе данных и могут возвращать значение состояния приложению или процедуре пакетного вызова. Пользовательские процедуры создаются с использованием пользовательской базы данных, за исключением случаев, когда у нас есть база данных только для чтения. Для этого нам нужно разработать его на языке Transact SQL (T-SQL). В Tempdb хранятся все временные процедуры. У нас есть два типа хранимых процедур

  1. Местные процедуры
  2. Глобальные процедуры

Локальные процедуры - это те, которые видны только пользователю, использующему их в соединении, тогда как глобальные процедуры видны любому пользователю в том же соединении.

Структура создания процедуры

Здесь владелец означает имя базы данных, и для передачи параметра нам нужно добавить символ «@».

CREATE PROCEDURE .
AS
Execute a Stored Procedure
Exec is the command for the execution of the procedure.
EXEC Procedure_name

Сравнение хранимой процедуры и функций

Хранимая процедура и функции могут использоваться для достижения той же функциональности. Мы можем настроить обе процедуры, а также функции. Разница между ними заключается в том, что функции предназначены для отправки их выходных данных в Transact SQL, а хранимые процедуры предназначены для возврата выходных данных в запрос, а также могут возвращать выходные данные в T-SQL. Приложения могут иметь входные данные от хранимых процедур, в то время как пользовательские функции могут возвращать переменные таблицы, и они не имеют права изменять настройки среды или среды операционной системы.

База данных компании

КомпаниякатегорияВещь
Тарлесъестноепеченье
Тарлесъестноечипсы
Лакмекосметикагубная помада
грудинкапродуктовыйЛьняное семя
грудинкасъестноепеченье
грудинкапродуктовыймасло
олекосметикаЛак для ногтей
олекосметикащетка для волос

Пример хранимой процедуры

Следующий оператор SQL создает хранимую процедуру, которая выбирает компанию

СОЗДАНИЕ ПРОЦЕДУРЫ SelectAllExample

В КАЧЕСТВЕ

ВЫБРАТЬ * ОТ КОМПАНИИ GO;

Выполните хранимую процедуру выше следующим образом:

Выполнив вышеописанную процедуру, мы можем использовать следующую команду:

EXEC SelectAllExample;

Пример хранимой процедуры с одним параметром

Следующий оператор SQL создает хранимую процедуру с одним передаваемым параметром, который выбирает компанию с элементом в качестве параметра

ПРОЦЕДУРА СОЗДАНИЯ SelectAllExample @item nvarchar (30)

В КАЧЕСТВЕ

ВЫБЕРИТЕ * ОТ КОМПАНИИ ГДЕ item = @item GO;

Выполните хранимую процедуру выше следующим образом:

Чтобы выполнить вышеописанную процедуру с одним параметром, мы можем использовать следующую команду: EXEC SelectAllExample item = «cookies»;

Пример хранимой процедуры с несколькими параметрами

Следующий оператор SQL создает хранимую процедуру с несколькими параметрами, которая выбирает компанию с элементом и категорией в качестве параметра

ПРОЦЕДУРА СОЗДАНИЯ SelectAllExample @item nvarchar (30), категория @ nvarchar (10)

КАК ВЫБРАТЬ * ИЗ КОМПАНИИ, ГДЕ item = @ item AND category = @ category GO;

Выполните хранимую процедуру выше следующим образом:

Чтобы выполнить хранимую выше процедуру с несколькими параметрами, мы можем использовать следующую команду, нам нужно передать несколько параметров через запятую: EXEC SelectAllExample item = ”cookies”, category = ”edibles”;

Преимущества процедуры в SQL

  • Улучшение применения может быть достигнуто с помощью процедур. Если процедура вызывается несколько раз в одном приложении, то используется скомпилированная версия процедуры.
  • Трафик между базой данных и приложением может быть уменьшен, поскольку большие операторы уже подаются в базу данных, и нам не нужно отправлять его снова и снова.
  • С помощью процедур можно повторно использовать код, аналогично функциям и методам работы в Java и других языках программирования.

Недостатки процедуры в SQL

  • Хранимые процедуры занимают много памяти. Обязанностью администратора базы данных является определение верхней границы того, сколько хранимых процедур возможно для конкретного приложения.
  • Хранимые процедуры не могут быть отлажены с использованием MySQL.

Вывод: что такое процедура в SQL

  • Простые невыбранные операторы, включая операторы DML, такие как Insert и Delete, а также операторы DDL, такие как Drop и Create, могут быть включены в хранимые программы.
  • Потребление памяти больше, но скорость поиска может быть уменьшена, и повторное использование кода выгодно.
  • Хранимые процедуры могут быть реализованы с переменными или без них и могут быть выполнены путем передачи параметров при необходимости.

Рекомендуемые статьи

Это было руководство к тому, что такое процедура в SQL. Здесь мы обсудили структуру, примеры, преимущества и недостатки процедуры в SQL. Вы также можете взглянуть на следующие статьи, чтобы узнать больше -

  1. Что такое SQL Server?
  2. Что такое база данных MySQL
  3. MySQL OpenSource
  4. Что такое SQL