事务的特性:原子性(要么完成,要么不做。操作一体);一致性(满足完整性约束,从一种状态到另一种状态,不存在中间状态,要么成功,要么失败);隔离性(并行和串行事务一样,得到相同的结果);持久性(完成事务后,持久存在)。
Commit提交事务、rollback回滚事务、save
--事务操作
begin tran tran_inserts--声明一个事务
insert into Student
values('java1','男','1998-9-9')
insert into Student
values('java2','男','1998-99-9')
--@@error存放多条批处理语句中出现错误的个数
if(@@error=0)
begin
--全部执行成功!将整个操作提交给数据库
commit tran tran_inserts
end
else
begin
--出现错误,将成功操作全部取消,即事务回滚
rollback tran tran_inserts
print('操作有误!');
end
-----------------------
begin tran tran_inserts
insert into Student
values('java1','男','1998-9-9')
--回滚开始标志,前面的不回滚
save tran tran_save
--java3的操作将回滚
insert into Student
values('java2','男','1998-99-9')
insert into Student
values('java3','男','1998-9-9')
--@@error存放多条批处理语句中出现错误的个数
if(@@error<>0)
begin
rollback tran tran_save;
end
else
begin
--全部执行成功!将整个操作提交给数据库
commit tran tran_inserts;
end