[... n]
Для передачі вхідних і вихідних даних в створюваній збереженій процедурі можуть використовуватися параметри, імена яких, як і імена локальних змінних, повинні починатися з символу @. В одній збереженій процедурі можна поставити безліч параметрів, розділених комами. У тілі процедури не повинні застосовуватися локальні змінні, чиї імена збігаються з іменами параметрів цієї процедури. Для визначення типу даних, який буде мати відповідний параметр збереженої процедури, годяться будь-які типи даних SQL, включаючи певні користувачем. p align="justify"> Для виконання процедури, що використовується команда:
імя_процедури [@ імя_параметра =] {значення | @ ім'я_змінної} [, ... n]
Існує кілька способів передачі даних між командами. Один з них - передача даних через локальні змінні. Перш ніж використовувати будь-яку змінну, її слід оголосити. Оголошення змінної виконується командою DECLARE, що має наступний формат:
{@ ім'я_змінної тип_даних}
[, ... n]
Значення змінної можна привласнити допомогою команд SET і SELECT. За допомогою команди SELECT змінної можна привласнити не тільки конкретне значення, а й результат обчислення виразу. Наприклад, DECLARE @ a INT, SET @ a = 10, SELECT @ k = MIN (i_kod)) FROM izdel
Тригер - це Відкомпілювати SQL-процедура, виконання якої обумовлено настанням певних подій всередині реляційної бази даних. Тригер являє собою спеціальний тип збережених процедур, що запускаються сервером автоматично при спробі зміни даних в таблицях, з якими тригери пов'язані. Кожен тригер прив'язується до конкретної таблиці. p align="justify"> На відміну від звичайної підпрограми, тригер виконується неявно в кожному випадку виникнення тригерній події, до того ж він не має аргументів.
Основний формат команди створення або зміни тригера:
CREATE | ALTER} TRIGGER імя_тріггера
ON {ім'я_таблиці | імя_представленія}
{{FOR | AFTER | INSTEAD OF}
{[DELETE] [,] [INSERT] [,] [UPDATE]}
sql_оператор [... n]}
Тригерні події складаються з вставки (INSERT), видалення (DELETE) та оновлення (UPDATE) рядків у таблиці.
Параметри AFTER і INSTEAD OF, визначають поведінку тригерів: - тригер виконується після успішного виконання викликали його команд.OF - Тригер викликається замість виконання команд.
При виконанні команд додавання, зміни та видалення записів сервер створює дві спеціальні таблиці: inserted і deleted. У них містяться списки рядків, які будуть вставлені або видалені по завершенні транзакції. Структура таблиць inserted і deleted ідентична структурі таблиць, для яких визначається тригер. Для кожного тригера с...