什么是事务?
事务:
就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。
为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
案例:
create procedure p4
(
@From varchar(20),
@To varchar(20),
@nums money
)
as
declare @error int
set @error=0
begin transaction
update bank set price=price-@nums where userid=@From
set @error=@error+@@error
update bank set price=price+@nums where userid=@TO
set @error=@error+@@error
if @error!=0
begin
print '转帐失败'
rollback
end
else
begin
print '转帐成功'
commit
end
select * from bank
exec p4 '张三','李四',50
立志欲坚不欲锐,成功在久不在速。