数据库事务性操作
SQL Server 2000 事务操作
1.事务操作实例一
--事务开始
begin transaction
insert student(sno,sname,ssex,sage,sdept)
values('200200005','王五','男',20,'IS')
if @@error<>0
begin
print '添加学生记录时出错!'
return
end
--存储记录点
save transaction befor_insert_score
insert sc
values('200200003','8',90)
if @@error<>0
begin
--回滚操作
rollback transaction befor_insert_score
print '添加成绩记录出错!'
return
end
commit transaction
2.事务操作实例二(与上例有什么区别?)
--事务开始
begin transaction
--存储记录点
save transaction befor_insert_student
insert student(sno,sname,ssex,sage,sdept)
values('200200005','王五','男',20,'IS')
if @@error<>0
begin
print '添加学生纪录时出错!'
return
end
save transaction befor_insert_score
insert sc
values('200200005','8',90)
if @@error<>0
begin
--回滚操作
rollback transaction befor_insert_student
print '登记记录出错!'
return
end
commit transaction
思考题
1.存在帐户表(帐户编号,帐户名,金额)
进行如下操作: 将帐户A的金额3000转入帐户B。
为了保证安全,要求使用事务操作。
2.学生表、课程表和选课表
进行如下操作:取消一门课程。
提示:先删除对应该门课程的选课记录,然后再删除该门课程。(要求使用事务性操作方法)