日期:2014-05-19  浏览次数:20659 次

有关存储过程的问题
什么时候用rollback,什么时候用commit?是要先判断是否成功才用commit吗?

------解决方案--------------------
begin transaction


if @@error <> 0
commit transaction
else
rollback transaction
------解决方案--------------------
lianqizhi(油条豆腐脑) ( ) 信誉:100 Blog 加为好友 2007-04-23 17:32:06 得分: 0


begin transaction


if @@error <> 0
commit transaction
else
rollback transaction



------解决方案--------------------
用户数据逻辑的可以用exists先检测,比如:
if exists(select 1 from 表 where 条件)
begin
操作
commit
end
else
begin
raiserror( '错误提示 ',16,1)
rollback tran
return
end

其它错误,比如字段类型不匹配,长度不一致等SQL自动回滚