Sql Server 触发器Update、Insert、Delete

什么是触发器

在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
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 90
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 90
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值