觸發器講解

2022-02-13 18:20:52 字數 1165 閱讀 9852

觸發器是一種特殊的儲存過程,類似於其它程式語言中的事件函式,sql server 允許為 insert、update、delete 建立觸發器,當在表(檢視)中插入、更新、刪除記錄時,觸發乙個或一系列 t-sql 語句。

本專題的目的並非是向您詳盡地介紹觸發器,而是系統地向您介紹觸發器的常用知識與相關應用,並與您一起**應用經驗,如果您需要了解觸發器不常用的知識點,請參見 sql server 聯機叢書(安裝 sql server 時預設是安裝的)。

觸發器到底可不可以在檢視上建立

在 sql server 聯機叢書中,是沒有說觸發器不能在檢視上建立的, 並且在語法解釋中表明:在 create trigger 的 on 之後可以是檢視。 然而,事實似乎並不是如此,很多專家也說觸發器不能在檢視上建立。 我也專門作了測試,的確如此,不管是普通檢視還是索引檢視,都無法在上面建立觸發器,真的是這樣嗎?詳細, 但是無可厚非的是:當在臨時表或系統表上建立觸發器時會遭到拒絕。

深刻理解 for

乙個有趣的應用

我們看到許多註冊系統在註冊後都不能更改使用者名稱,但這多半是由應用程式決定的, 如果直接開啟資料庫表進行更改,同樣可以更改其使用者名稱, 在觸發器中利用回滾就可以巧妙地實現無法更改使用者名稱……詳細內容

觸發器內部語句出錯時……

這種情況下,前面對資料更改操作將會無效。 舉個例子,在表中插入資料時觸發觸發器,而觸發器內部此時發生了執行時錯誤,那麼將返回乙個錯誤值,並且拒絕剛才的資料插入。

啟用或禁用觸發器

通過在查詢分析器中執行 alter table 可以啟用或禁用表的乙個或所有觸發器。詳細內容

不能在觸發器中使用的語句

觸發器中可以使用大多數 t-sql 語句,但如下一些語句是不能在觸發器中使用的。

慎用觸發器

觸發器功能強大,輕鬆可靠地實現許多複雜的功能,為什麼又要慎用呢。 觸發器本身沒有過錯,但由於我們的濫用會造成資料庫及應用程式的維護困難。 在資料庫操作中,我們可以通過關係、觸發器、儲存過程、應用程式等來實現資料操作…… 同時規則、約束、預設值也是保證資料完整性的重要保障。 如果我們對觸發器過分的依賴,勢必影響資料庫的結構,同時增加了維護的複雜程式……詳細內容

mysql之觸發器講解

觸發器 trigger 監視某種情況,並觸發某種操作。觸發器建立語法四要素 1.監視地點 table 2.監視事件 insert update delete 3.觸發時間 after before 4.觸發事件 insert update delete 語法 create trigger trigg...

SQL觸發器例項講解

sql觸發器例項1 定義 何為觸發器?在sql server裡面也就是對某乙個表的一定的操作,觸發某種條件,從而執行的一段程式。觸發器是乙個特殊的儲存過程。常見的觸發器有三種 分別應用於insert update delete 事件。我為什麼要使用觸發器?比如,這麼兩個表 create table ...

oracle中觸發器的講解

觸發器在資料庫裡以獨立的物件儲存,它與儲存過程和函式不同的是,儲存過程與函式需要使用者顯示呼叫才執行,而觸發器是由乙個事件來啟動執行。即觸發器是當某個事件發生時自動地隱式執行。並且,觸發器不能接收引數。所以執行觸發器就叫觸發或點火 firing oracle事件指的是對資料庫的表進行的insert ...