SQLSERVER的觸發器

2021-07-08 17:47:09 字數 1063 閱讀 6810

觸發器的定義:觸發器是一種特殊型別的儲存過程,他不同於前面介紹過的一般的儲存過程(在sql內部把觸發器看做是儲存過程但是不能傳遞引數).一般的儲存過程通過儲存過程名稱被直接呼叫,而觸發器主要是通過事件進行觸發而被執行.總的來說,觸發器是一種功能強大的工具,在表中資料發生變化時自動強制執行,觸發器還可以用於sqlserver約束.預設值和規則的完整性檢查,還可以完成難以用普通約束實現的複雜功能

觸發器的作用:

自動化操作,減少了手動操作及出錯的機率

小知識點:在sqlserver資料庫中隱藏的兩個表

inserted,deleted表.

inserted表:當執行insert語句時,新增的資料也會加到inserted表中

deleted表:當執行delete from時,資料會放置到deleted表中.

注意,當update時,先將語句刪除到deleted表中,然後在將新的資料插入到inserted表及目的表.

觸發器多用於資料備份

建立乙個表,表的機構和原表結構一樣,但是沒有資料

select top 0

into nstu from stu //複製表stu的結構至nstu表

觸發器案例:當刪除學生表中的資料的同時,把刪除的這個資料存放到我的新錶中.

create

trigger tr_stutrigger on stu//注意觸發器的寫法已tr_開頭

after

delete

asbegin

insert

into nstu select * from deleted

end

觸發器的使用建議:盡量避免在觸發器中執行耗時,複雜的操作,因為觸發器會與sql語句認為在同乙個事務中,事務不結束,就無法釋放鎖.觸發器編寫時要多注意對多行觸發時的處理.

sqlserver觸發器複習

create table a a1 int,a2 int create table b b1 int,b2 int insert into a values 1,0 insert into b values 1,0 create trigger tri update a2 a on a for up...

SQL server 之 觸發器

今天對觸發器研究了一下,之前的學習感覺挺朦朧的,今天鼓搗了一天,算是有了一點點了解,把學習的體會記錄了下來。常見的觸發器 觸發器的作用 自動化操作,減少了手動操作以及出錯的機率 現實工作中用的比較少,因為想讓他執行起來效率高很難 一 dml觸發器 insert delete update 不支援se...

Sql Server 觸發器 二

接 一 觸發器示例2 建立觸發器 t insert 捲菸銷售表 該觸發器較複雜。說明 每當 捲菸庫存表 發生 insert 動作,則引發該觸發器。觸發器功能 實現業務規則。業務規則 如果銷售的捲菸品牌不存在庫存或者庫存為零,則返回錯誤。否則則自動減少 捲菸庫存表 中對應品牌捲菸的庫存數量和庫存金額。...