*/
прізвище, Ім'я_користувача, Дата_добавленія) Чітательскій_номер, прізвище, /* вказуємо звідки */ _USER, /* функція визначає поточного користувача */
getdate () /* функція повертає поточну дату */
FROM updated /* updated - тимчасова таблиця, куди заносяться дані */
6. Тригер забороняє змінювати в таблиці В«Пользованіе_бібліотекой2В» запис полів В«дата_пріемаВ» і В«дата видачіВ» в неділю.
ALTER TRIGGER proverka ON Пользованіе_бібліотекой2 UPDATE
AS
IF UPDATE (дата_пріема) /* Перевіряє, яке поле оновлюється */
AND datename (dw, GETDATE ()) in ('Sunday') /* Перевіряє, чи є день неділею */
BEGIN'В воскресіння не можна приймати кнігі'TRANSACTION
IF UPDATE (дата_видачі) /* Перевіряє, яке поле оновлюється */
AND datename (dw, GETDATE ()) in ('Sunday') /* Перевіряє, чи є день неділею */
BEGIN'В воскресіння не можна приймати кнігі'TRANSACTION
/* datename (dw, GETDATE ()) - GETDATE () отримує поточну дату, datename (dw, <дата>) отримує назву дня тижня */
7. Тригер, який записує при видаленні записів з таблиці В«Сотруднікі_бібліотекіВ» в окрему таблицю інформацію про дату видалення, користувача,
Перед створенням такого тригера необхідно створити таблицю DeletedSotrudLibrary , куди буде проводиться запис:
CREATE TABLE DeletedSotrudLibrary (
[Табельний_номер] [int] NOT NULL,/* оголошуємо поля таблиці */
[ім'я] [varchar] (25) NULL,
[прізвище] [varchar] (25) NULL,
[по батькові] [varchar] (75) NULL,
[дата_рожденія] [datetime] NULL,
[посаду] [varchar] (35) NULL,
[номер_отдела] [int] NOT NULL,
[Ім'я_користувача] [varchar] (50) NULL,
[Дата_удаленія] [datetime] NULL
) ON [PRIMARY]
Тригер:
CREATE TRIGGER deletesotrud Сотруднікі_бібліотекі /* Зв'язуємо з таблицею */
FOR DELETE
AS
INSERT INTO DeletedSotrudLibrary /* Вказуємо таблицю, куди проводитиметься запис */