資料庫觸發器(二)

2021-08-15 08:57:26 字數 797 閱讀 6540

觸發器:一種特殊的儲存過程,儲存過程一般通過定義的名字直接呼叫,而觸發器是通過增、刪、改進行觸發執行,會在事件發生時自動強制執行。

常見觸發器:after(for) 或instead of用於insert、update、delete事件。

基本語法:

creeate trigger 觸發器的名字 on 操作表

for|after instead of

update|insert|delete

assql語句

例項:

create

trigger tr_delete on

work

forinsert

asdelete * from

work

where id=(select id from inserted);

建立了這個觸發器,當我對錶work進行insert操作完後,會自動執行delete * from work where id=(select id from inserted);將剛插入的資料刪除

(inserted這個是臨時表,並且只會儲存最後一次操作的資料)

上圖詳細解釋了,當操作表進行插入、刪除、更新時觸發器針對臨時表inserted和deleted的操作。並注意最一句話:觸發器執行多次但只會保留最後一次結果!

**部落格:

資料庫觸發器

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

資料庫觸發器

最近做了個觸發器的例子 create trigger tru user on user for update asif update status begin update user set stopflag 1 from inserted where user.userid inserted.us...

資料庫 觸發器

觸發器的概念 是使用者定義在關係表上的一類有事件驅動的特殊過程。一旦定義,任何對錶的增刪改操作均有伺服器自動啟用相應的觸發器,在dbms核心層進行集中的完整性控制。類似於約束,但比約束更靈活。觸發器的分類 dml觸發器 dml data manipulation language 觸發器是當資料庫伺...