触发器的小知识

什么是触发器?

触发器是一种专用类型的存储过程,它被捆绑到SQL Server 的表格或者视图上,或者说触发器也是一个特殊的存储过程,主要是通过事件来触发而被执行的

触发器的相关作用与种类

一:作用
1:它可以强化约束,来维护数据的完整性和一致性。
2:可以跟踪数据库内的操作从而不允许未经许可的更新和变化。
3:可以联级运算。
4:能够同步实时的复制表中的数据。

二:种类
触发器主要分为两个类型,分别是INSTEAD-OF AFTER
1:INSTEAD-OF 触发器
instead of 触发器表示并不执行其定义的操 insert,update,delete 而仅是执行触发器本身,既可以在表上定义 instead of 触发器也可以在视图上定义。

2:AFTER触发器
After触发器要求只有执行某一项操作insert,update,delete之后才被触发,而且只能定义在表上。

如何创建触发器

1:首先我们准备两个数据表,并填入一些数据
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2:接下来用create trigger来创建触发器,并设置触发条件

GO
ALTER trigger [dbo].[tri_delete1]
on [dbo].[Books] for insert
as
  declare @typeID int 
--修改分类表的库存
select @typeID=typeID from deleted
update BookType set Nums=Nums-1 where ID=@typeID

3:执行相对应的语句
在这里插入图片描述
4:所创建过的触发器在对应表的下面
在这里插入图片描述

inserted与deleted对比

触发器有两个特殊的表:
插入表(inserted表)删除表(deleted)
这两张是逻辑表也是虚表,有系统在内存中创建者两张表,不会存储在数据库中。而且两张表的都是只读的,只能读取数据而不能修改数据。这两张表的结果总是与被改触发器应用的表的结构相同。当触发器完成工作后,这两张表就会被删除。

对表的操作Inserted逻辑表Deleted逻辑表
增加记录 (insert)存放增加的记录
删除记录 (delete)存放被删除的记录
修改记录 (update)存放更新后的记录存放更新前的记录
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值