Sql Server 触发器Update、Insert、Delete

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Zhang_0507/article/details/82823567

什么是触发器

在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

猜你喜欢

转载自blog.csdn.net/Zhang_0507/article/details/82823567