禁用觸發器.
解禁觸發器.
刪除觸發器.
觸發器是一種特殊型別的儲存過程。
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 語句,從而確保對資料...