Создание триггеров
Создание триггеров
Триггер определяется с помощью оператора CREATE TRIGGER, который состоит из заголовка и тела. Заголовок триггера отличается от заголовка хранимой процедуры, он содержит:
* имя триггера, которое должно быть уникальным в базе данных;
* имя таблицы, идентифицирующее таблицу, с которой ассоциируется триггер;
* атрибуты, которые определяют состояние, фазу, событие DML и, необязательно, последовательность.
Тело триггера, как и тело хранимой процедуры, содержит:
* необязательный список локальных переменных и их типов данных;
* блок операторов на языке процедур и триггеров Firebird, заключенный в операторные скобки BEGIN и END. Эти операторы выполняются, когда запускается триггер. Сам блок может включать другие блоки, так что может существовать много уровней вложенности.
Синтаксис
Для всех версий Firebird синтаксис CREATE TRIGGER одинаков:
CREATE TRIGGER имя FOR {таблица | просмотр}
[ACTIVE | INACTIVE]
{BEFORE | AFTER} {DELETE | INSERT | UPDATE}
[POSITION число]
AS <тело-триггера> ^
<тело-триггера> = [<список-объявления-переменных>] <блок>
<список-объявления-переменных> = DECLARE VARIABLE переменная тип-данных;
[DECLARE [VARIABLE] переменная тип-данных; ...]
<блок> =
BEGIN
<составной-оператор> [<составной-оператор> ...]
END
<составной-оператор> = <блок> | оператор;
В версии 1.5 возможно слияние всех событий в один триггер фазы:
CREATE TRIGGER имя FOR {таблица | просмотр}
[ACTIVE | INACTIVE]
{BEFORE | AFTER}
{DELETE OR {[INSERT [OR UPDATE]} | {INSERT OR [. . ]} | {UPDATE OR [..]}}
[POSITION число]
AS <тело-триггера> ^
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Создание
Создание Прежде чем приступить непосредственно к формированию веб-страниц, необходимо подготовить содержимое будущего сайта (текст, изображения и пр.). Ведь согласитесь, было бы глупо создавать сайт ни о чем. Поэтому будем считать, что вся необходимая для наполнения
Увеличение глубины рекурсии процедур и триггеров
Увеличение глубины рекурсии процедур и триггеров Количество рекурсивных вызовов процедур и триггеров увеличено до
5.5. Двоичная регистрация сохраненных подпрограмм и триггеров
5.5. Двоичная регистрация сохраненных подпрограмм и триггеров Двоичный файл регистрации содержит информацию относительно инструкций SQL, которые изменяют содержание базы данных. Эта информация сохранена в форме события. Это описывает модификации. Двоичный файл
Действия триггеров по изменению правил целостности
Действия триггеров по изменению правил целостности Очевидно, что правила целостности применяются, когда происходят изменения данных, влияющих на отношение. При этом правила по умолчанию не всегда подходят для всех требований. Мы можем захотеть перекрыть правило,
Преимущества использования триггеров
Преимущества использования триггеров Перечислим преимущества использования триггеров.* Автоматическое применение ограничения данных, чтобы убедиться, что пользователи вводят только допустимые значения в столбцы.* Сокращение объема поддержки приложений, поскольку
Элементы процедур и триггеров
Элементы процедур и триггеров Определения модулей PSQL действительно являются одним оператором SQL, который начинается предложением CREATE и завершается терминатором. В определении модуля существует множество элементов: предложений, ключевых слов, блоков множества
Компиляция хранимых процедур и триггеров
Компиляция хранимых процедур и триггеров Для компиляции любого файла скрипта вы должны включить в файл, по крайней мере, одну "пустую строку" после последнего оператора или комментария. Чтобы сделать это, нажмите, по меньшей мере, один раз клавишу <Return> (Enter) в вашем
Создание триггеров
Создание триггеров Триггер определяется с помощью оператора CREATE TRIGGER, который состоит из заголовка и тела. Заголовок триггера отличается от заголовка хранимой процедуры, он содержит:* имя триггера, которое должно быть уникальным в базе данных;* имя таблицы,
Особенности PSQL для триггеров
Особенности PSQL для триггеров Два особых элемента PSQL доступны триггерам: логические контекстные переменные событий INSERTING, UPDATING и DELETING и контекстные переменные NEW и OLD. Переменные события В Firebird появляются логические контекстные переменные INSERTING, UPDATING и DELETING, чтобы
Изменение триггеров
Изменение триггеров Firebird 1.0.x предоставляет только один способ изменения триггеров при использовании операторов DDL, a Firebird 1.5 добавляет еще один.* ALTER TRIGGER изменяет определение существующего модуля триггера, сохраняя его зависимости от других объектов. Он может быть
Синтаксис для изменения триггеров
Синтаксис для изменения триггеров Синтаксис:{ALTER TRIGGER ИМЯ} |{CREATE OR ALTER TRIGGER имя FOR {таблица | просмотр}[ACTIVE | INACTIVE][{BEFORE | AFTER} {DELETE | INSERT | UPDATE}][POSITION число]AS <тело-триггера>;ALTER TRIGGERПредложение FOR ИМЯ, применяемое в CREATE TRIGGER, опускается, ALTER TRIGGER не может использоваться для изменения
Удаление триггеров
Удаление триггеров В процессе проектирования базы данных и разработки приложений триггер может перестать быть полезным. Для удаления триггера соединитесь с базой данных как его владелец или пользователь SYSDBA и используйте оператор DROP TRIGGER.Его синтаксис:DROP TRIGGER ИМЯ;Имя