Пример хранимой процедуры SQL | Хранимая процедура в SQL

Хранимая процедура SQL — это подготовленный код SQL, который используется для экономии времени и может использоваться снова и снова. Код хранимой процедуры хранится в базе данных и помогает получить требуемый вывод, передав параметры. Эти хранимые процедуры используются в PL/SQL или SQL SERVER.

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

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

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

Итак, если у вас есть SQL-запрос, который вы пишете снова и снова, сохраните его как хранимую процедуру, а затем вызовите его для выполнения.

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

Процедура может быть функцией или методом, который можно вызывать через триггеры, приложения на Java или PHP и т. д.

# Синтаксис

 Создание процедуры  ASBegin  EndGo 

Давайте разберемся с синтаксисом выше с правильный пример:

ПРИМЕР:

Рассмотрим таблицу КЛИЕНТЫ:

ID NAME ВОЗРАСТ АДРЕС ЗАРПЛАТА
1 Том 21 Калькутта 500
2 Каран 22 Аллахабад 600
3 Хардик 23 Дханбад 700
4 Komal 24 Мумбаи 800

#Query

 CREATE PROCEDURE SampleASSELECT * FROM Testdb.CustomersGo; 

#Output:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
1 Том 21 Калькутта 500
2 Каран 22 Аллахабад 600
3 Хардик 23 Дханбад 700
4 Комал 24 Мумбаи 800

Итак, здесь мы создали процедуру с именем Sample, которая отображает подробную информацию о таблице клиента, которая была сохранена в базе данных Testdb.

# ИЗМЕНЕНИЕ СУЩЕСТВУЮЩЕЙ ПРОЦЕДУРЫ

Мы можем изменить процедуру с помощью оператора ALTER.

#Syntax

 Процедура ALTER  ASBegin  EndGo 

#Query:

 ALTER  ПРОЦЕДУРА SampleASSELECT * FROM Testdb. New_CustomersGo; 

Итак, здесь данные таблицы клиентов не будут отображаться в New_customers; вместо этого будут отображаться данные, которые ранее были явно созданы в базе данных Testdb.

# УДАЛЕНИЕ ПРОЦЕДУРЫ:

созданную процедуру можно отбросить с помощью ключевого слова DROP.

#Syntax

 DROP PROCEDURE имя_процедуры; 

#Query

 DROP PROCEDURE sample; 

Итак, здесь отбрасывается процедура с именем sample, которая была ранее создана выше.

Давайте посмотрим на недостатки процедур.

# Хранимая процедура с одним параметром

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

 CREATE PROCEDURE SelectAllCustomers @City nvarchar (30) ASSELECT * FROM  Клиенты WHERE City = @CityGO; 

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

 EXEC SelectAllCustomers City = "Marbella"; 

# Сохраненная процедура с несколькими параметрами

Установить несколько параметров очень просто. Просто перечислите каждый параметр и тип данных через запятую, как показано ниже.

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

 СОЗДАТЬ ПРОЦЕДУРУ SelectAllCustomers @City nvarchar (30), @PostalCode nvarchar (10) ASSELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCodeGO; 

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

 EXEC SelectAllCustomers City = "Perth", PostalCode = "6021"; 

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

  1. Они приводят к повышению производительности статьи. Каждый раз, когда процедура часто вызывается в приложении в одном соединении, доставляется скомпилированная версия этой процедуры.
  2. Они сокращают трафик между базой данных и приложением, поскольку длинные операторы уже загружены в базы данных и не требуют повторной отправки приложением.
  3. Они похожи на возможность повторного использования кода, как и функции и методы в C/C ++ и JAVA.

# Недостатки

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

# Заключение

Он группирует один или несколько операторов Transact-SQL в логическую единицу и сохраняется как объект на сервере базы данных. Когда хранимая процедура вызывается в первый раз, MySQL создает план выполнения и сохраняет его в кэше планов.

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

Наконец, урок по хранимой процедуре в SQL завершен.

Оцените статью
nanomode.ru
Добавить комментарий