Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Синтаксис инструкции create trigger

Синтаксис инструкции create triggerСинтаксис этой инструкции отличается в разных СУБД, и ни один из вариантов не соответствует стандарту

Ключевые слова BEFORE и AFTER определяют, когда вызывается триггер: до или после инструкции DML. Другими словами, если некоторый триггер предназначен для выполнения при вставке строки в таблицу A и задано ключевое слово BEFORE, триггер будет выполняться непосредственно перед тем, как СУБД попытается выполнить вставку (т. е. перед вставкой будут выполнены инструкции триггера). Если выполнение триггера приведет к ошибке, вставка так и не произойдет. Триггеры AFTER выполняются непосредственно после инструкции DML. Если происходит ошибка, транзакция откатывается. Триггеры, определенные с необязательным параметром FOR EACH ROW, иногда называют строчными. Такой триггер выполняется для каждой строки, возвращенной инструкцией DML. К примеру, если инструкция UPDATE модифицирует поля в десяти строках, триггер будет вызван десять раз. Если данное предложение опущено, триггер будет выполнен только раз, независимо от того, сколько строк было обработано инструкцией (табличный триггер), выполняя операцию над всем множеством. Язык PL/SQL поддерживает все параметры, определенные стандартом SQL:2003, а также множество дополнительных. Следующий синтаксис включает только предложения триггера инструкций DML, в то же время PL/SQL позволяет создавать триггеры DDL и базы данных, которые активизируются событиями DDL (CREATE, ALTER, DROP и т. д.) и базы данных (регистрацией и выходом пользователя, запуском и остановом базы данных и т. д.). Подобно множеству других объектов Oracle (хранимым процедурам, функциям, представлениям, синонимам, последовательностям и т. д.), синтаксис PL/SQL содержит необязательное предложение OR REPLACE (см. главу 4)

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *