p>
BEGIN В«Невірно введений рік надходженняВ» /* видача повідомлення про невдачу операції */
ROLLBACK TRANSACTION /* відкат (скасування) транзакції */
END
10. Тригер, що забороняє оновлення значення в полі В«год_отчісленіяВ», якщо воно перевищує номер поточного року.
CREATE TRIGGER proverka_otchislenia_StudentovСтудентыUPDATE @ @ t int /* Оголошуємо змінну */
Set @ @ t = 5 /* Привласнюємо їй значення */
IF NOT EXISTS (SELECT * FROM Студенти, inserted
WHERE Студенти.год_окончанія = inserted.год_окончанія)
Set @ @ t = 0EXISTS (SELECT * FROM Студенти, inserted inserted.год_окончанія> YEAR (GETDATE ())) /* Перевіряємо, чи більше значення вводиться року, ніж у поточного */
Set @ @ t = 0 /* Міняємо значення змінної */@ @ t = 0 /* якщо f = 0, значить були помилки */В«Невірно введений рік відрахуванняВ» /* видача повідомлення про невдачу операції */TRANSACTION span> /* відкат (скасування) транзакції */
3.4 T-SQL-визначення збережених процедур
. Список видач книг за поточний день.
CREATE PROCEDURE CpicokVidach /* Перераховуємо поля, які будуть виведені в результаті запиту */
Пользованіе_бібліотекой2. Табельний_номер, COUNT (Пользованіе_бібліотекой2. Дата_видачі) /* вказуємо ім'я таблиці з яких вибираються записи */
Пользованіе_бібліотекой2 /* задаємо умову відбору */
Пользованіе_бібліотекой2. Дата_видачі = (SELECT GETDATE ()) BY /* проводиться групування за вказаною полю */
Табельний_номер
/* SELECT GETDATE () дозволяє отримати поточну дату (рік, місяць, число) (<полі>) повертає кількість записів якого-небудь поля */
2. Кількість примірників якої книги.
CREATE PROCEDURE KolExzemplarov
/* Оголошуємо необхідні змінні */
@ ISBN varchar (20)
AS
/* Наступна конструкція перевіряє, чи існують записи в таблиці В«КнигиВ» із заданим ISBN */
IF not EXISTS (SELECT * FROM Книга WHERE ISBN = @ ISBN) 0 /* Викликає кінець процедури KolExzemplarov < i alig n = "just...