Sql触发器

Sql触发器

触发器的概述

触发器是一个特殊的存储过程,触发器是对表进行新增、更新、删除的时候会自动执行的特殊存储过程。

有两种触发器

触发器分为

1after触发器(之后触发)  
    a、 insert触发器  
    b、 update触发器  
    c、 delete触发器  
2、 instead of 触发器 (之前触发)  

after触发器

after触发器只有在执行,insert、update、delete之后触发器才会触发。

instead of触发器

instead of触发器只执行本身(触发器)。

触发器的优点

1,有助于完整性

2,可以实现数据库的层叠更改

after触发器的使用

after触发器的使用

select * from Books
select * from BookType
insert Books values('5G','猛',1)
delete Books where  id=4
update Books set TypeID=2 where ID=1
--创建一个触发器,当我在Books表加一条数据时,触发一个事件
---这个事件将会在booktype表中,给对应新增书分类,库存+1
--新增
go
create trigger tri_Add
on books for insert
as
declare @typeID int
select @typeID=TypeID from inserted
update BookType set Nums=Nums+1 where id=@typeID
--删除
go
create trigger tri_D
on books for delete
as
declare @typeID int
select @typeID=TypeID from deleted
update BookType set Nums=Nums-1 where id=@typeID
--修改
go
create trigger tri_kjkj
on books for update
as
declare @typeID int
declare @typeIDNew int
select @typeID=TypeID from deleted 
select @typeIDNew=TypeID from inserted 
update BookType set Nums=Nums-1 where id=@typeID
update BookType set Nums=Nums+1 where id=@typeIDNew
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值