Введение в курс "Базы данных" - Программирование триггера

E-mail Печать PDF
Рейтинг пользователей: / 9
ХудшийЛучший 
Индекс материала
Введение в курс "Базы данных"
Классификация БД по их использованию
Реляционные БД (MS Access)
Ключи
Связи между таблицами
Неформальные методы приведения таблиц к третьей нормальной форме
Операции в БД (VBA)
Операции над записями
SQL
Оператор Select
DISTINCT
FROM
Группировка
Объединение таблиц
Параметры
Перекрёстные запросы
Обновление данных
Удаление данных
Подчинённые запросы
Создание таблиц
Добавление новых полей
Tехнология разработки программного обеспечения, использующего базы данных
Доступ к данным в VB 6.0
Работа с записями
Отчёты в VB6
Доступ к данным в C++ Builder
Отчёты в C++ Builder
Создание многоуровневых приложений
Доступ к данным в C# (Visual Studio 2005)
Создание отчётов
OLAP технологии. XML язык
SQL Server
Триггер
Программирование триггера
XML
Все страницы

Программирование триггера

При  выполнении команд изменения, добавления, вставки сервер создаёт 2 специальные таблицы: inserted и deleted. Структура таблиц аналогична таблице, к которой прикреплён триггер. В зависимости от команды их содержимое изменяется:

1.      Команда Insert - таблица inserted содержит все строки, которые мы пытаемся добавить в таблицу (deleted - пустая).

2.      После завершения триггера записи в таблице inserted удаляются.

3.      Команда Delete - в таблице Deleted помещаются строки к удалению (inserted - пустая).

4.      Команда Update - в deleted - старые значения строк; в inserted - новые значения строк.

@@ROWCOUNT - определяет количество строк в таблице (Inserted и Deleted).

 

Пример на триггер на команду Insert:

 

Create Trigger Триггер <n>

 

On Сделка For Insert

 

As

 

If @@ROWCOUNT = 1

 

                Begin

 

                               If not Exist {Select * From Inserted Where Inserted.Количество <= ALL

 

(Select  * From Склад, Сделка Where Код1 = Код2)}

 

                               Begin

 

RollBack Throw

 

                                               Print "s"

 

                               End

 

                End

 

Триггер, в основном, используется

 

1.      Для сбора статистических данных.

2.      Для записи журнала сообщений.

3.      Для поддержки целостности данных с точки зрения логики программы.



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий: