資料庫原理 觸發器 Trigger

2021-10-23 14:33:11 字數 1701 閱讀 8254

禁用觸發器.

解禁觸發器.

刪除觸發器.

觸發器是一種特殊型別的儲存過程。

sql server在工作時為每個觸發器在伺服器的記憶體上建立兩個特殊的表:插入表inserted和刪除表deleted

;]【例】設計乙個觸發器,在學生表s中刪除某乙個學生時,在選課表sc中該學生的選課記錄也全部被刪除。

use teach

gocreate trigger del_s

on s

after delete

as delete

from sc

where sc.sno in

(select sno from deleted)

go

create trigger trigger_name

on [with encryption][,

...n ]

as sql_statement [

;]

【例】建立乙個ddl觸發器safety,禁止修改和刪除當前資料庫中的任何表。

use teach

gocreate trigger safety

on database

for drop_table, alter_table

as print '不能刪除或修改資料庫表!'

rollback

go

在有些情況下,使用者希望暫停觸發器的作用,但並不刪除它,這時就可以通過disable trigger語句使觸發器無效,語法格式如下:

disable trigger 

on object_name

【例】將上面建立在資料庫上的觸發器safety禁用並進行驗證。

//a temporary table ts.

select * into ts

from s

//try to delete ts,but fail because of trigger 'safety'.

drop table ts

//disable 'safety'.

godisable trigger safety

on database

//success to delete ts.

drop table ts

go

要使觸發器重新有效,可使用enable trigger語句,語法格式如下:

enable trigger 

on object name

使用drop trigger語句刪除觸發器.

drop trigger trigger_name

oracle 資料庫 觸發器 trigger 語法

關鍵字 oracle 資料庫 觸發器 trigger 語法 語法規則 create or replace trigger 模式.觸發器名 before after insert delete update of 列名 on 表名 for each row when 條件 pl sql塊 說明 for...

資料庫原理之觸發器

觸發器 trigger 是一種特殊的儲存過程,它與表緊密相連,可以是定義表的一部分。當預定義的事件 如使用者修改指定表或者檢視中的資料 發生時,觸發器將會自動執行。觸發器基於乙個表建立,但是可以針對多個表進行操作。所以觸發器可以用來對錶實施複雜的完整性約束,當觸發器所儲存的資料改變時,觸發器被自動啟...

資料庫觸發器

觸發器是一種特殊型別的儲存過程,它不同於我們前面介紹過的儲存過程。觸發器主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名字而 被直接呼叫。當對某一表進行諸如update insert delete 這些操作時,sql server 就會自動執行觸發器所定義的sql 語句,從而確保對資料...