Sql Server 觸發器Update、Insert、Delete
阿新 • • 發佈:2018-12-11
什麼是觸發器
在SQL Server裡面也就是對某一個表的一定的操作,觸發某種條件,從而執行的一段程式。觸發器是一個特殊的儲存過程。
常見的觸發器一共有三種 Insert, Update,Delete
為什麼要用觸發器
用觸發器和儲存過程差不多,減少了程式檢索資料庫的時間
Insert觸發器
當我的退卡表插入一條記錄的時候我賬單彙總表裡的 支出(expense)會在原來的基礎上增加新退卡的金額
Create trigger [dbo].[CountCancelCard] ------觸發器名稱 on [dbo].[T_CancelCard]--------------------建立觸發器的表名 after insert--------------------------------------什麼型別的觸發器 as update T_CheckOut set expense=expense + inserted.cash from T_CheckOut,inserted-----需要觸發的內容
Delete觸發器
兩個表,一個是學生的資訊表,一個是學生的借書記錄表 當我刪除學生資訊的時候,同時刪除該學生的上下機記錄
Create trigger DeleteStuInfo --------------觸發器名稱
On T_StuInfo[dbo].[T_StuInfo]
for Delete
As
Delete T_LineLog
From T_LineLog L ,T_StuInfo S
Where L.StuNo=S.StuNo
Update觸發器
如果更新充值表中的金額,在彙總賬單中更新當天的淨利潤
Create trigger [dbo].[T_CountProfit]
on [dbo].[T_LineLog]
for update
as
if UPDATE(spendCash) ----------------------如果對錶LineLog表的消費時間進行修改
begin
update T_CheckOut set profit=profit + inserted.spendCash----------執行這條語句
from T_CheckOut,inserted
where date=date
end