首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 截断二进制字符串时如何处理事务提交

2012-10-21 
SQL 截断二进制字符串时如何避免事务提交事务中有插入语句。如出现“截断二进制字符串”错误时,事务竟正常提

SQL 截断二进制字符串时如何避免事务提交
事务中有插入语句。如出现“截断二进制字符串”错误时,事务竟正常提交?请高手指教!

[解决办法]
在执行事务时,只有遇到系统错误(如客户端断线,文件已满,权限不足,死锁等),事务才会自动回滚,释放占用的资源(锁)。
而遇到其他错误时(如,T-SQL 语句错误),事务不会自动回滚,而是继续执行下一个语句,因此需要在每一条语句执行后进行错误检查(@@ERROR <> 0)以决定是否回滚整个事务。
另外,还可以通过 SET XACT_ABORT ON,在遇到 T-SQL 语句执行错误时终止整个批处理并回滚整个事务。但是,如果事务中有批处理因为语法分析和编译错误而不被执行(显示事务中可以包括多个批处理),事务会继续执行下一个批处理,此类错误将无法通过 SET XACT_ABORT ON 回滚,但可以在批处理后通过 @@ERROR <> 0 检查到。

热点排行