触发器(1)

本文详细介绍了SQL触发器的创建与应用,通过实例展示了如何使用触发器进行数据库更新和记录操作,包括条件判断、数据修改及效果验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

create trigger grade_update /*为表sc1创建名为grade_update的触发器*/

on sc1

for update,insert

as

update sc1 set grade =100

where grade<100

 

 

alter trigger grade_update /*修改grade_update触发器*/

on sc1

for update,insert

as

declare @sname char (10) ,@sname1 char(10)

select @sname=sc1.sno ,@sname1=student1.sname from sc1,student1  where sc1.sno=student1.sno and  grade > 100

update sc1 set grade =90

print '学号: '+@sname+' 姓名:'+@sname1+ ' 成绩超过100分!!!! ' /*修改grade_update触发器*/

 

 

update sc1 set grade=200  /*看效果*/

where sno='95001'

 

/*触发器实例1*/

create table tmp_sc /*建立临时表tmp_sc*/

( sname char(8),

  ssex  char(2),

)

 

 

 

create trigger gra_update /*建立触发器gra_update*/

on student1

for delete

as

declare @sname char (10)

declare @ssex char(10)

 

select @sname=sname, @ssex=ssex from deleted

insert into tmp_sc values(@sname,@ssex)

print @sname+'和'+@ssex+'had insert into  tmp_student'

 

delete from student1 where sname='刘文' /*看效果*/

 

/*触发器实例2*/

 

 

create trigger gra_update

on student1

for delete

as

declare @sname char(10)

select @sname=sno from deleted

if @sname='98124'

         begin

         rollback transaction

         print '98124同学不可以删除!'

         end

else

         begin

         print @sname+'同学已经删除!'

          end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值