觸發器是一種專用型別的儲存過程,它被**到sql server 的**或者檢視上。
有instead-of和after兩種觸發器。那麼instead-of-update觸發器裡的**會執行,而不是執行更新語句則不會執行操作。after觸發器要在dml語句在資料庫裡使用之後才執行。
它可以強化約束,來維護資料的完整性和一致性,可以跟蹤資料庫內的操作從而不允許未經許可的更新和變化。
1.觸發器是自動的。當對表中的資料做了任何修改之後立即被啟用。
2.觸發器可以通過資料庫中的相關表進行層疊修改。
3.觸發器可以強制限制。這些限制比用check約束所定義的更複雜。與check約束不同的是,觸發器可以引用其他表中的列。
sqlserver包括三種常規型別的觸發器:dml觸發器、ddl觸發器和登入觸發器。
1.dml(資料操作語言,data manipulation language)觸發器
dml觸發器是一些附加在特定表或檢視上的操作**,當資料庫伺服器中發生資料操作語言事件時執行這些操作。sqlserver中的dml觸發器有三種:
insert觸發器:向表中插入資料時被觸發;
delete觸發器:從表中刪除資料時被觸發;
update觸發器:修改表中資料時被觸發。
--怎麼使用操作:
go--開始
create trigger tg_projectname--觸發器名自定義
on table1--你資料庫中的乙個表
after update
asupdate table2--你資料庫中另外乙個表
set [工程名]=b.工程名
from table2 a,inserted b
where a.projid = b.id
endgo--結束
查詢
go--開始
create trigger tg_projectname--觸發器名自定義
asselect
*from
information_schema.triggers
where = 'database_name'
and trigger_name = 'trigger_name';
endgo--結束
新增
go--開始
create trigger tg_projectname--觸發器名自定義
asinsert
表名values
你要新增的字段
endgo--結束
理解T SQL 觸發器
觸發器是一種響應特定事件的特殊型別的儲存過程。有兩種型別的觸發器 資料定義語言 ddl 和資料操作語言 dml 觸發器。ddl能夠響應某種方式 create,alter,drop 修改資料庫結構時激發 dml是附加在特定表和檢視上的 程式不能顯式呼叫觸發器,觸發器 是某種事件產生後被自動執行。ddl...
理解T SQL 觸發器
觸發器是一種響應特定事件的特殊型別的儲存過程。有兩種型別的觸發器 資料定義語言 ddl 和資料操作語言 dml 觸發器。ddl能夠響應某種方式 create,alter,drop 修改資料庫結構時激發 dml是附加在特定表和檢視上的 程式不能顯式呼叫觸發器,觸發器 是某種事件產生後被自動執行。ddl...
關於觸發器的理解
觸發器是一種特殊的儲存過程,不是使用者直接呼叫,而是通過對錶的一些操作觸發的,比如對某個表的insert,update,delete,如果我們在該表中定義了相應的觸發器,那麼觸發器就會執行。在sql server中,觸發器分為兩種,一是前觸發器 instead of 另一種是後觸發器 after o...