如下内容,在SC-log中应该有2行,但却只有一行,为什么?怎么修改?

在SC表上编写update触发器,当修改SC表中的grade字段时将其修改前后的信息保存在SC_log表中。
我编的触发器create trigger tr2
on SC
after update
as
declare @Ssno int
select @Ssno=Sno from inserted
declare @Scno int
select @Scno=Cno from inserted
declare @Soldgrade int
select @Soldgrade=Grade from deleted
declare @Snewgrade int
select @Snewgrade=Grade from inserted
if update(Grade)
begin
insert into SC_log
values(@Ssno,@Scno,@Soldgrade,@Snewgrade)
end
然后更新
update SC
set Grade='99'
where Cno='3'


弑天下
浏览 267回答 2
2回答

开心每一天1111

--简单的东西,你搞复杂了create trigger tr2on SCafter updateasif update(grade)insert into SC_logselect a.sno,a.cno,b.grade,a.gradefrom insered a,deleted bwhere a.sno=b.sno and a.cno=b.cno

森林海

怎么运行报sc_log对象名不存在 当我创建sc_log表 报在表 'sc_log' 中多次指定了列名 'grade'。运行代码如下create table SC_log( ssno varchar(9),ccno varchar(4),oldgrade int,newgrade int)create trigger tr2on SCafter updateasdeclare @Ssno varchar(9)select @Ssno=Sno from inserteddeclare @Scno varchar(4)select @Scno=Cno from inserteddeclare @Soldgrade intselect @Soldgrade=Grade from deleteddeclare @Snewgrade intselect @Snewgrade=Grade from insertedif update(Grade)begininsert into SC_logvalues(@Ssno,@Scno,@Soldgrade,@Snewgrade)endreturnupdate sc set grade=66 where Cno='10'
打开App,查看更多内容
随时随地看视频慕课网APP