postgresql - triggery.pdf

(189 KB) Pobierz
268104912 UNPDF
SQL-wyzwalacze w PostgreSQL
Mariusz Grabowski
WFiIS gr I r III - IS
268104912.002.png
P l a n p r e z e n t a c j i .
K i l k a p r a w d o t r i g g e r ' a c h .
R z u t o k a - CREATE TRIGGER
CREATE TRIGGER .
CREATE TRIGGER – z b l i s k a .
– z b l i s k a .
P r o c e d u r y w y z w a l a n e – z m i e n n e .
M i e j s c e w k o l e j c e .
T r y i t .
B i b l i o g r a f i a .
R z u t o k a -
CREATE TRIGGER
268104912.003.png
K i l k a p r a w d o t r i g g e r ' a c h .
Wyzwalacz (ang. trigger) jest specjalnym parametrem informującym bazę danych o
fakcie, iż musi ona wykonać szczególną funkcję (tzw. funkcję wyzwalaną) za każdym
razem gdy pewien typ operacji jest przetwarzany.
Triggery mogą być wywoływane zarówno przed jak i po którejś z operacji (lub ich
kombinacji przy użyciu OR ) INSERT, UPDATE lub DELETE.
Aby stworzyć wyzwalacz, musimy najpierw zdefiniować funkcję wyzwalaną, następnie
użyć polecenia CREATE TRIGGER , które określa, kiedy procedura wyzwalana
będzie wykonywana.
268104912.004.png
R z u t o k a - CREATE TRIGGER
CREATE TRIGGER .
Składnia polecenia :
CREATE TRIGGER nazwa { BEFORE | AFTER } { zdarzenie [ OR
... ] } ON tabela [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funkcja ( argumenty )
Jak widzimy wyzwalacz stanowi informację dla bazy danych “uruchom tę procedurę
przechowywaną w bazie danych za każdym razem, kiedy dla tej tabeli zachodzi w
bazie danych określone zdarzenie”
R z u t o k a -
268104912.005.png
CREATE TRIGGER – z b l i s k a .
– z b l i s k a .
Poszczególne parametry polecenia:
nazwa nadana triggerowi nazwa musi być różna dla wszystkich
zdefiniowanych triggerów dla jednej tabeli. Wykorzystywana jest również przy
poleceniu - DROP TRIGGER
BEFORE | AFTER – określają czy funkcja wyzwalana ma zostać wywołana
przed czy też po określonym zdarzeniu. W przypadku gdy wyzwalacz uruchamiany
jest przed zdarzeniem może on dowolnie zmodyfikować wstawiany wiersz.
Natomiast w drugim przypadku wszystkie nowe informacje są już widoczne dla
wyzwalacza.
zdarzenie – określa zdarzenie powodujące uruchomienie wyzwalacza może
to być jedno z poleceń INSERT, UPDATE lub DELETE jeśli chcemy uzyskać
kombinacje używamy słówka – OR
ON tabela – specyfikuje tabelę, do której odnosi się trigger
CREATE TRIGGER
268104912.001.png
Zgłoś jeśli naruszono regulamin