linux 命令触发器,sql触发器 _Linux_woniu的技术博客_51CTO博客

insert触发器:

create table stuinfo

(

num varchar(10),

name varchar(10)

)

create table classinfo

(

serialno varchar(10),

totalno int

)

classinfo表

107819193d1b2ddefdbd624f2c3effd1.png

stuinfo表

b7915e4c10910a034e817858c2e45f3e.png

比如说班级编号位1001的人数1个

insert into classinfo values('1001',1)

下来创建触发器

create trigger  info //触发器名字

on  stuinfo // 该触发器是在那个表改变的时候发生

for insert //在那个事件发生

as

update classinfo set totalno=totalno+1

where serialno=(select num from  inserted)  //inserted为临时表

运行一下三条命令,验证结果

select  totalno from classinfo where serialno='1001'

insert into stuinfo values( '1001','xiaobai')

select  totalno from classinfo  where serialno='1001'

前后对比

c2826b6975b9b04479ca694039a850d4.png

delete触发器:

53147a7d0906c35f7f409974c0ac8f5d.png

create trigger del

on stuinfo

for delete

as

update classinfo set totalno=totalno-1

where serialno=(select num from  deleted)

运行一下三条命令,验证结果

select  totalno from classinfo  where serialno='1001'

delete from stuinfo where num='1001'

select  totalno from classinfo  where serialno='1001'

5a1b2effa63878b6ec3dc06cac69433e.png

update触发器:

create trigger upd

on stuinfo

for update

as

if(update(name))

begin

print 'name changed'

end

else

print 'not changed'

运行一下三条命令,验证结果

select  * from stuinfo  where num='1001'

update stuinfo set  name='小白' where num='1001'

select  * from stuinfo  where num='1001'

80f5192cf240b8ef362a981f87bc7456.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值