SQL Server 触发器

   日期:2020-05-21     浏览:88    评论:0    
核心提示:这斜体样式里写自定义目录标题触发器的作用创建SQL Server触发器示例代码如下触发器的作用触发器是一个特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。简单的来说就是在一个数据库的表上定义一个触发器,如果这个触发器的作用是修改另外一张表,当执行这张表的操作如果触发器被触发的时候,另外一张表页会随着改变创建SQL数据

这斜体样式里写自定义目录标题

  • 触发器的作用
    • 创建SQL Server触发器
    • 示例
    • 代码如下

触发器的作用

触发器是一个特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。简单的来说就是在一个数据库的表上定义一个触发器,如果这个触发器的作用是修改另外一张表,当执行这张表的操作如果触发器被触发的时候,另外一张表页会随着改变

创建SQL Server触发器

create trigger 触发器名(触发器名可以随便写)
on 表名 for insert
as
修改表的代码

dadasdas

示例

假如有两张表一张bookTypes(分类表)和一张Books(图书表) 假如你想要增加一边图书的时候分类表里面的数量页随着改变,这时候就用到触发器了

–当我在书籍表插入一条数据,触发一个事件
–这个事件,将会自动在分类表,将该书籍的对应的类别的库存加1

代码如下

go
create trigger tri_add
on Books for insert
as
	--修改分类表的库存
	declare @typeiID int    //创建一个变量 
	select @typeiID=TypeID from inserted  //接收新表的数据
	update bookTypes set Nums=Nums+1 where ID=@typeiID

	//执行添加的时候书籍的对应类别的库存加1
    insert Books values('建筑测量1','测量很醉1',3)

--系统默认有两个表 
--inserted 装新数据
--deleted 装旧数据

--当我在书籍删除一条数据,触发一个事件
--这个事件,将会自动在分类表,将该书籍的对应的类别的库存减1
go
create trigger tri_del
on Books for delete
as 
	--修改分类表的库存
	declare @typeiD int  //创建一个变量
	select @typeiD=TypeID from deleted  //接收旧表的数据
	update bookTypes set Nums=Nums-1 where ID=@typeiD

--
delete from Books where id=7



--修改书籍的分类时,boostrap的分类 有2改3的时候
--分类表的库存 2的分类-1 3的分类加1
go
alter trigger tri_deit
on Books for update
as 
	declare @a int  --修改之后
	declare @b int  --修改之前

	--select @a=TypeID from inserted
	--select @b=TypeID from deleted

	update bookTypes set Nums=Nums-1 where ID= @b
	update bookTypes set Nums=Nums+1 where ID= @a
	--
	update Books set TypeID=2 where id=3
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服