當前位置:才華齋>計算機>計算機四級>

2015下半年計算機四級資料庫考試知識點:觸發器

計算機四級 閱讀(8.68K)

  觸發器基本概念

2015下半年計算機四級資料庫考試知識點:觸發器

1、 觸發器是一種特殊的儲存過程,其特殊性在於它不需要由使用者來呼叫,而是當用戶對錶中的資料進行UPDATE、INSERT或DELETE操作時自動觸發執行;

2、 觸發器常用於下列場合:

(1) 完成比CHECK的約束更復雜的資料約束;

(2) 為保證資料庫效能而維護的非規範化資料;

(3) 實現複雜的業務規則,可使業務的處理任務自動進行。

 建立觸發器

1、 建立觸發器的語句:CREATE TRIGGER,語法為:

CREATE TRIGGER 觸發器名稱

ON {表名| 檢視名}

[WITH ENCRYPTION]

{FOR |AFTER|INSTEAD OF}{[INSERT][,][DELETE][,][UPDATE]}

AS

[{IF UPDATE(column)…}]

SQL語句

(1) 觸發器名稱在資料庫中必須是惟一的;

(2) ON子句用於指定在其上執行觸發器的表;

(3) AFTER:指定觸發器只有在引發的SQL語句中指定的操作都已成功執行,並且所有的'約束檢查也成功完成後,才執行此觸發器,這種觸發器稱為後觸發型觸發器;

(4) FOR:作用同AFTER;

(5) INSTEAD OF:指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代觸發語句的操作,這種觸發器稱為前觸發型觸發器;

(6) INSTERT、DELETE或UPDATE是引發觸發器執行的操作,若同時指定多個操作,則各操作之間用逗號分隔;

2、 建立觸發器時,需要注意:

(1) 在一個表上可以建立多個名稱不同、型別各異的觸發器,每個觸發器可由三個操作引發;

(2) 大部分Transact-SQL語句都可用在觸發器中,但也有一些限制;

(3) 在觸發器定義中,可以使用IF UPDATE子句測試在INSERT和UPDATE語句中是否對指定欄位有影響;

(4) 通常不要在觸發器中返回任何結果。

3、 建立後觸發型觸發器

使用FOR或AFTER選項定義的觸發器為後觸發的觸發器,即只有在引發觸發器執行語句中指定的操作都已完成執行,並且所有的約束檢查也成功完成後,才執行的觸發器;

4、 建立前觸發型觸發器

使用INSTEAD OF 選項定義的觸發器為前觸發型觸發器,在該觸發器中,指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代引發語句的操作。