- 相關(guān)推薦
2015下半年計算機四級數(shù)據(jù)庫考試知識點:觸發(fā)器
觸發(fā)器基本概念
1、 觸發(fā)器是一種特殊的存儲過程,其特殊性在于它不需要由用戶來調(diào)用,而是當用戶對表中的數(shù)據(jù)進行UPDATE、INSERT或DELETE操作時自動觸發(fā)執(zhí)行;
2、 觸發(fā)器常用于下列場合:
(1) 完成比CHECK的約束更復(fù)雜的數(shù)據(jù)約束;
(2) 為保證數(shù)據(jù)庫性能而維護的非規(guī)范化數(shù)據(jù);
(3) 實現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則,可使業(yè)務(wù)的處理任務(wù)自動進行。
創(chuàng)建觸發(fā)器
1、 創(chuàng)建觸發(fā)器的語句:CREATE TRIGGER,語法為:
CREATE TRIGGER 觸發(fā)器名稱
ON {表名| 視圖名}
[WITH ENCRYPTION]
{FOR |AFTER|INSTEAD OF}{[INSERT][,][DELETE][,][UPDATE]}
AS
[{IF UPDATE(column)…}]
SQL語句
(1) 觸發(fā)器名稱在數(shù)據(jù)庫中必須是惟一的;
(2) ON子句用于指定在其上執(zhí)行觸發(fā)器的表;
(3) AFTER:指定觸發(fā)器只有在引發(fā)的SQL語句中指定的操作都已成功執(zhí)行,并且所有的約束檢查也成功完成后,才執(zhí)行此觸發(fā)器,這種觸發(fā)器稱為后觸發(fā)型觸發(fā)器;
(4) FOR:作用同AFTER;
(5) INSTEAD OF:指定執(zhí)行觸發(fā)器而不是執(zhí)行引發(fā)觸發(fā)器執(zhí)行的SQL語句,從而替代觸發(fā)語句的操作,這種觸發(fā)器稱為前觸發(fā)型觸發(fā)器;
(6) INSTERT、DELETE或UPDATE是引發(fā)觸發(fā)器執(zhí)行的操作,若同時指定多個操作,則各操作之間用逗號分隔;
2、 創(chuàng)建觸發(fā)器時,需要注意:
(1) 在一個表上可以建立多個名稱不同、類型各異的觸發(fā)器,每個觸發(fā)器可由三個操作引發(fā);
(2) 大部分Transact-SQL語句都可用在觸發(fā)器中,但也有一些限制;
(3) 在觸發(fā)器定義中,可以使用IF UPDATE子句測試在INSERT和UPDATE語句中是否對指定字段有影響;
(4) 通常不要在觸發(fā)器中返回任何結(jié)果。
3、 創(chuàng)建后觸發(fā)型觸發(fā)器
使用FOR或AFTER選項定義的觸發(fā)器為后觸發(fā)的觸發(fā)器,即只有在引發(fā)觸發(fā)器執(zhí)行語句中指定的操作都已完成執(zhí)行,并且所有的約束檢查也成功完成后,才執(zhí)行的觸發(fā)器;
4、 創(chuàng)建前觸發(fā)型觸發(fā)器
使用INSTEAD OF 選項定義的觸發(fā)器為前觸發(fā)型觸發(fā)器,在該觸發(fā)器中,指定執(zhí)行觸發(fā)器而不是執(zhí)行引發(fā)觸發(fā)器執(zhí)行的SQL語句,從而替代引發(fā)語句的操作。
【下半年計算機四級數(shù)據(jù)庫考試知識點:觸發(fā)器】相關(guān)文章:
2015下半年計算機四級數(shù)據(jù)庫考試知識點:存儲過程05-22
計算機四級考試《數(shù)據(jù)庫工程師》知識點:DBAS07-22
2015下半年計算機四級數(shù)據(jù)庫考試知識點:查看、修改及刪除對象03-19
2015下半年計算機四級數(shù)據(jù)庫考試知識點:創(chuàng)建和執(zhí)行存儲過程03-04
2022下半年計算機四級數(shù)據(jù)庫考試知識點:用戶自定義函數(shù)06-04
2015下半年全國計算機四級《數(shù)據(jù)庫》考試內(nèi)容07-04
2017年全國計算機四級數(shù)據(jù)庫考試知識點復(fù)習01-28
2015計算機四級考試《數(shù)據(jù)庫》知識:數(shù)據(jù)庫的物理結(jié)構(gòu)07-09