Читайте также
Создание триггеров
Триггер (trigger) — это особый тип хранимой процедуры, который выполняется при доступе к данным в таблице. Понятие триггера в SQL Server аналогично понятию процедуры события в Visual Basic: триггер выполняется при обновлении, удалении или вставке данных в
Процедурный язык (PSQL)
Стандарт не описывает возможности процедурного языка, поскольку в принципе предполагает, что общие задачи программирования будут решены с использованием языка программирования. Не существует спецификаций для конструкций языка по манипулированию,
Выражения в PSQL
Процедурный язык для триггеров и хранимых процедур PSQL широко использует выражения для управления потоком выполнения. PSQL предоставляет структуры IF(<предикат>) THEN и WHILE(<предикат>) DO. Любой предикат, который может быть использован в условии поиска, также
"Точки сохранения" в PSQL
Добавление возможностей создания пользовательских точек сохранения в Firebird 1.5 позволяет приложению управлять область действия отката транзакции. В PSQL всегда была возможность обработки исключений. Подробности см. в главе
Преимущества использования триггеров
Перечислим преимущества использования триггеров.* Автоматическое применение ограничения данных, чтобы убедиться, что пользователи вводят только допустимые значения в столбцы.* Сокращение объема поддержки приложений, поскольку
Расширения языка PSQL
Расширения языка PSQL включают следующие языковые элементы:* операторы BEGIN и END для выделения блоков кода, которые могут быть вложенными;* операторы DECLARE VARIABLE для объявления локальных переменных;* конструкция FOR SELECT <спецификация-выбора> INTO
Ограничения PSQL
Существуют некоторые ограничения языка для кодов в модулях PSQL.* Операторы, использующие подмножество языка определения данных (DDL) SQL Firebird, не разрешены в PSQL[111].* Операторы управления транзакциями недопустимы в PSQL, потому что хранимые процедуры и триггеры
Типы операторов, не поддерживаемых в PSQL
Следующие типы операторов не поддерживаются в триггерах и хранимых процедурах:* операторы языка определения данных (т. е. операторы, начинающиеся с ключевых слов CREATE, RECREATE, ALTER или DROP; SET GENERATOR; DECLARE EXTERNAL FUNCTION: DECLARE FILTER);* операторы
ГЛАВА 29. Разработка модулей PSQL.
Хранимые процедуры и триггеры объявляются при помощи операторов CREATE PROCEDURE и CREATE TRIGGER соответственно. Каждый из этих сложных операторов состоит из заголовка и
Элементы процедур и триггеров
Определения модулей PSQL действительно являются одним оператором SQL, который начинается предложением CREATE и завершается терминатором. В определении модуля существует множество элементов: предложений, ключевых слов, блоков множества
Курсоры в PSQL
Курсоры состоят из трех основных элементов:* набора строк, определенных выражением SELECT;* указателя, который перемещается через набор от первой строки к последней, изолируя строку для некоторого вида деятельности;* набора переменных- определенных как
Создание триггеров
Триггер определяется с помощью оператора CREATE TRIGGER, который состоит из заголовка и тела. Заголовок триггера отличается от заголовка хранимой процедуры, он содержит:* имя триггера, которое должно быть уникальным в базе данных;* имя таблицы,
Изменение триггеров
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 ИМЯ;Имя