----- 5.执行以下两条语句,在course表中添加课程号为'tx003',课程名为'数据库原理及应用',
------在stucourse表中添加一条记录,sno为已有学生的学号,cno为'tx003',score自定义即可,要求这两条语句要么都执行成功,要么都不执行
declare @err int
begin transaction
update course
set cno='tx003'
where cname='数据库原理及应用'
set @err=@@ERROR
if @err!=0
begin
rollback transaction
end
update stucourse
set score='90'
where cno='tx003'and sno='200611001.0'
set @err=@@ERROR
if @err!=0
begin
rollback transaction
end
commit transaction
return
以上程序运行后没结果,但没有错误提示,不知道那错了请大家帮忙,谢谢啦!
------在stucourse表中添加一条记录,sno为已有学生的学号,cno为'tx003',score自定义即可,要求这两条语句要么都执行成功,要么都不执行
declare @err int
begin transaction
update course
set cno='tx003'
where cname='数据库原理及应用'
set @err=@@ERROR
if @err!=0
begin
rollback transaction
end
update stucourse
set score='90'
where cno='tx003'and sno='200611001.0'
set @err=@@ERROR
if @err!=0
begin
rollback transaction
end
commit transaction
return
以上程序运行后没结果,但没有错误提示,不知道那错了请大家帮忙,谢谢啦!
改为:
declare @tc int
set @tr=@@trancount
if @tr>0 save trans s1
else begin transaction update course
set cno='tx003'
where cname='数据库原理及应用' update stucourse
set score='90'
where cno='tx003'and sno='200611001.0'
if @@ERROR!=0
begin
if @tr>0 rollback trans s1
else rollback transaction
end
else
commit tranaction