НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

SQL Підручник

SQL СТАРТ SQL Інтро SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() and MAX() SQL COUNT() SQL SUM() SQL AVG() SQL LIKE SQL Підстановочні символи SQL IN SQL BETWEEN SQL Псевдоніми SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Self JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY, ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL Функції SQL Зберігаючи процедури SQL Коментарі SQL Оператори

SQL База даних

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Типи даних

SQL Довідники

SQL Ключові слова MySQL Функції SQL Серверні функції MS Access Функції SQL Швидкий довідник

SQL Приклади

SQL Приклади SQL Редактор SQL Вікторина SQL Вправи SQL Bootcamp SQL Сертифікат

SQL. W3Schools українською. Уроки для початківців

En

SQL Збережені процедури для SQL Server


Що таке збережена процедура?

Збережена процедура — це підготовлений код SQL, який можна зберегти, щоб код можна було використовувати знову і знову.

Отже, якщо у вас є SQL-запит, який ви пишете знову і знову, збережіть його як збережену процедуру, а потім просто викличте її, щоб виконати.

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

Синтаксис збереженої процедури

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Виконати збережену процедуру

EXEC procedure_name;

Демонстраційна база даних

Нижче наведено вибірку з таблиці "Customers" ("Клієнти") зразка бази даних Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Приклад збереженої процедури

Наведена нижче SQL інструкція створює збережену процедуру під назвою "SelectAllCustomers", яка вибирає всі записи з таблиці "Customers" ("Клієнти"):

Приклад

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

Виконайте наведену вище збережену процедуру наступним чином:

Приклад

EXEC SelectAllCustomers;

Збережена процедура з одним параметром

Наведена нижче SQL інструкція створює збережену процедуру, яка вибирає клієнтів із певного міста з таблиці "Customers" ("Клієнти"):

Приклад

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

Виконайте наведену вище збережену процедуру наступним чином:

Приклад

EXEC SelectAllCustomers @City = 'London';

Збережена процедура з кількома параметрами

Налаштувати кілька параметрів дуже просто. Просто перелічіть кожен параметр і тип даних, розділивши їх комою, як показано нижче.

Наведена нижче SQL інструкція створює збережену процедуру, яка вибирає клієнтів із певного міста з певним поштовим індексом із таблиці "Customers" ("Клієнти"):

Приклад

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

Виконайте наведену вище збережену процедуру наступним чином:

Приклад

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';