Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЯрослав Неретин
1 PL/SQL Триггеры (INSERT, UPDATE, DELETE)
2 Определение Три́ггер базы данных (англ. trigger) это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного события (действием) по сути добавлением INSERT или удалением DELETE строки в заданной таблице, или модификации UPDATE данных в определенном столбце заданной таблицы реляционной базы данныхангл. хранимая процедура реляционной базы данных
3 Синтаксис CREATE [OR REPLACE] TRIGGER ON [FOR EACH ROW] [WHEN триггерное_ограничение] [DECLARE …] BEGIN … [EXCEPTION …] END [имя_триггера];
4 Синтаксис Момент срабатывания BEFORE (до проверок на строки, затрагиваемые триггерным событием) AFTER (после того, как запускающий оператор завершит работу) Триггерное событие INSERT UPDATE DELETE * Можно комбинировать: «DELETE OR INSERT», …
5 Синтаксис Триггерное ограничение: дополнительные условия срабатывания триггера [FOR EACH ROW] указывает на необходимость обработки каждой строки указанной таблицы / представления
6 Синтаксис Триггерное ограничение: дополнительный условия срабатывания триггера. Обращение к строкам через old. и new.
7 Обращение к строкам из триггера В исполняемом блоке триггера к обрабатываемым строкам можно обращаться посредством :old.имя_столбца :new.имя_столбца
8 Примеры: CREATE OR REPLACE TRIGGER persons_insert_trigger AFTER INSERT ON persons FOR EACH ROW BEGIN INSERT INTO persons_inserts VALUES(sysdate, :new.id); END
9 Примеры: CREATE OR REPLACE TRIGGER persons_id_insert_trigger BEFORE INSERT ON persons FOR EACH ROW BEGIN SELECT persons_seq.NEXTVAL INTO :NEW.id FROM DUAL; END
10 Примеры: CREATE OR REPLACE TRIGGER persons_insert_trigger BEFORE DELETE ON persons FOR EACH ROW BEGIN insert into persons_deletes values(sysdate, :old.id); END
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.