图 7每次更新插入一条记录
(3) 建立一个DELETE触发器,针对于SC表,每次只能删除一条信息。 代码:
create trigger delete_SC on SC for delete as declare @row_cnt int
select @row_cnt=count(*) from SC if @row_cnt>1 begin
print 'SC中每次允许删除一条记录' rollback transaction End
运行结果:
命令已成功完成。 运行显示结果如图:
图表 8建立触发器delete_SC
验证语句:
delete from SC where Sno='0002' 验证结果:
图表 9删除时提示每次允许删除一条记录
(4) 建立一个UPDATE的触发器,不允许用户更改学生学号,若更改学号,给出提示信息:学号
不允许更改。 代码:
create trigger SC_update on S for update as
if update (Sno) begin
print '学号不允许更改'; rollback ; end 运行结果:
命令已成功完成。 运行显示结果如图10:
图表 10建立触发器update_SC
(5) 执行相应的SQL语句,触发上述定义的触发器。 代码
Update S set Sno=00014 where Sname='刘一 ' 运行结果:
学号不允许更改
(6) 删除触发器credit_TRIGER。 代码:
if exists(select name from sysobjects where type='TR'and name='credit_TRIGER ') drop trigger credit_TRIGER Go
运行结果:
命令已成功完成。 如图无触发器
图表 10删除成功,无此触发器