觸發器的知識和理解

2021-10-06 07:19:23 字數 1295 閱讀 5431

觸發器是一種專用型別的儲存過程,它被**到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...