Вопрос 36. Триггеры и генераторы (СУБД Интербэйс)
Генераторы используют для поддержки первичных ключей. Они позволяют генерировать значение ключа при добавлении новой записи, путем приращения предыдущего значения на единицу.
create generator
set generator to
GEN_ID (,)
Функция GEN_ID возвращает значения заданного генератора полученная путем прибавления к предыдущему значения генератора указанное приращение, генерируя тем самым новое значение первичного ключа.
Триггер – особый вид ХП, который вызывается (неявно) автоматически при выполнении операции вставки, удаления, добавления в БД. Различают before триггеры ( до наступления триггерного события), after триггеры (после).
Триггеры не возвращают никаких начений, а используются для проверки слоных ограничений семантической целостности или изменений данных в связанных таблицах. Для одной табл. можно создать несколько триггеров, они автоматически нумеруются, начиная с 0, и выполняются в порядке создания.
create trigger for
active before\after insert\delete\update
as
begin
end
Контекстные переменные.
В триггерах, которые срабатывают до выполнения операторов SQL новые данные располагаются в некотором буфере оперативной памяти и к их значениям можно обратиться с помощью контекстной переменной new.
Аналогично сохраняются прежние значения полей и к ним можно обратиться old..
Генераторы используют для поддержки первичных ключей. Они позволяют генерировать значение ключа при добавлении новой записи, путем приращения предыдущего значения на единицу.
create generator
set generator to
GEN_ID (,)
Функция GEN_ID возвращает значения заданного генератора полученная путем прибавления к предыдущему значения генератора указанное приращение, генерируя тем самым новое значение первичного ключа.
Триггер – особый вид ХП, который вызывается (неявно) автоматически при выполнении операции вставки, удаления, добавления в БД. Различают before триггеры ( до наступления триггерного события), after триггеры (после).
Триггеры не возвращают никаких начений, а используются для проверки слоных ограничений семантической целостности или изменений данных в связанных таблицах. Для одной табл. можно создать несколько триггеров, они автоматически нумеруются, начиная с 0, и выполняются в порядке создания.
create trigger for
active before\after insert\delete\update
as
begin
end
Контекстные переменные.
В триггерах, которые срабатывают до выполнения операторов SQL новые данные располагаются в некотором буфере оперативной памяти и к их значениям можно обратиться с помощью контекстной переменной new.
Аналогично сохраняются прежние значения полей и к ним можно обратиться old..