Ю тся следую щие вопросы : ■ Структура блоков я зы к а o racle p L /s q L


Download 0.9 Mb.
Pdf ko'rish
bet14/14
Sana07.03.2023
Hajmi0.9 Mb.
#1246661
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
Майкл Мак-Локлин - Oracle DB 11g. Программирование на языке PL-SQL - 2014 better 51-73

50
Гпава 2
Триггеры базы данных
Т ри ггеры базы д ан ны х являю тся сп ец и ал и зи ро в ан н ы м и х ран и м ы м и
процедурам и, ко то р ы е запускаю тся п р и н аступлении соб ы тий в базе дан­
ных. О н и р аб отаю т во врем я между вводом ком анды и вы п ол н ен и ем сис­
тем н ы х д ей стви й п р и уп равлен ии базой данны х. П оскольку он и р аб о та­
ю т в п ром еж уточн ое врем я, вы не м ож ете и сп ол ьзовать язы к уп равлен ия 
дан ны м и (d a ta c o n tro l language, DCL) в тр и ггерах , то есть 
SAVEPOINT, 
ROLLBACK 
и 
COMMIT. 
Вы м ож ете задать п ять ти п о в тр и ггер о в в сем ействе 
продуктов O racle d atabase l l g :
■ Т ри ггеры язы к а о п р ед ел ен и я дан ны х (d ata d e fin itio n language, 
DDL) запускаю тся, когда вы задаете ком анды создать (create), и зм е­
н и ть (alter), п ер еи м ен о в ать (renam e) и ли у н и ч то ж и ть (d ro p ) объек­
ты в схеме базы данны х. О н и удобны для о тсл еж и ван и я н е э ф ф е к ­
ти в н о й п рак ти к и п р о гр ам м и р о в ан и я, когда, н ап ри м ер , програм м ы
создаю т (create) и ун ичтож аю т (d ro p ) в р ем ен н ы е табли цы вм есто 
эф ф ек ти в н о го и сп ользован и я коллекц и и O racle, находящ ихся в 
о п ер ати в н о й пам яти. В рем енн ы е таб ли цы могут п р и в о д и ть к ф р аг­
м ен тац и и дискового п р о стр ан ств а и со врем енем сн и ж ать п р о и зв о ­
д и тельн ость базы данны х.
■ Т ри ггеры язы к а м ан и п ули рован и я дан ны м и (d ata m an ip u latio n
language, DML) и ли тр и ггер ы уровня стр о к запускаю тся, когда вы 
вставляете (insert), о б н овл яете (u p d a te ) и ли ун и ч тож аете (delete) 
д ан ны е в таблице. Вы м ож ете и сп ользовать это т ти п тр и ггер ов , 
ч тобы аудировать, п р о вер ять , сох ран ять и зам ен ять зн ач ен и я до 
и х и зм ен ен и я. А втом атическая нум ерация псевдочи слового п ер ­
в и ч н ого клю ча (prim ary
KEY) 
ч асто вы п о л н яется с помощ ью тр и гге­
р а DML.
■ С оставн ы е тр и ггер ы р аб отаю т как тр и ггер ы од н о врем ен н о уровня 
о п е р а то р а и уровня стр о к и п р и вы п о л н ен и и вставки (in sert), и зм е­
н ен и я (u p d a te ) и ли удаления (delete) дан ны х и з таблицы . Э ти т р и г­
геры п озвол яю т получать и н ф орм ац и ю в ч еты р ех в рем ен н ы х то ч ­
ках: (а) п еред запуском о п ер ато р а, (Ь) п еред и зм ен ен и ем каж дой 
строки , затрон утой запущ енны м оп ер ато р о м , (с) после и зм ен ен и я 
каж дой строк и , затрон утой запущ енны м о п ерато ро м , и (d) после 
запуска о п ератора. Вы м ож ете и сп о л ьзо вать э то т ти п тр и ггер о в , 
ч тобы аудировать, п р о вер ять , со хр ан ять и зам ен ять зн ач ен и я до 
их и зм ен ен и я, если необходи м о п р ед п р и н и м ать д ей стви я о д н овр е­
м енн о н а уровне соб ы ти й о п ер ато р а и н а уровне со б ы ти й каж дой 
строки.
■ Т ри ггеры зам ещ ени я 
INSTEAD OF 
(вместо) п озвол яю т п р ер в ать вы ­
п о л н ен и е о п ер ато р о в DML и п ер ео р и ен т и р о в а ть о п ер ато р ы DML. 
Т ри ггеры зам ещ ени я 
INSTEAD OF 
(вместо) часто использую тся, ч то ­
бы п о зво л и ть вам осущ ествлять зап и сь в п ред ставлен и я, кото р ы е 
зап рещ аю т прямую запись, поскольку эти п р ед ставлен и я «не об­


Основы PL/SQL
51
новляем ы е». Т ри ггеры зам ещ ени я INSTEAD OF (вместо) п р и м ен яю т 
бизнес-правила и напрямую осущ ествляю т вставку (in sert), обнов­
л ен и е (u p d a te ) и удаление (delete) стр о к и з соответствую щ их таб­
лиц , отн о сящ и хся к эти м н е обновляем ы м представлен и ям .
■ С истем ны е, и ли тр и ггер ы базы данны х, запускаю тся п р и возн и кн о ­
в ен и и си стем н ы х соб ы ти й в базе дан ны х - тр и ггер соб ы тий logon 
(подклю чение) и log off (отклю ч ен и е), используем ы е в Главе 13. 
Э ти тр и ггер ы п озвол яю т отслеж ивать си стем н ы е со б ы ти я и пока­
зы вать их пользователю .
Итоги
В это й главе р ассм о тр ен ы осн овы процедурн ого я з ы к а /я з ы к а структу­
р и р о ва н н ы х зап росов (P ro c ed u ral L a n g u a g e / S tru ctu red Q uery L anguage, 
P L /S Q L ) и п оказано, как улучш ить работу с P L /S Q L . Э то долж но пробу­
дить ваш и н те р ес и сп особствовать ж еланию и скать дальнейш ую и н ф о р ­
мацию.

Download 0.9 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling