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

比较郁闷的有关问题,存储过程中事务的执行

2012-01-12 
比较郁闷的问题,存储过程中事务的执行.前台程序开发需要调用存储过程,为保证数据的完整性,使用了事务.具体

比较郁闷的问题,存储过程中事务的执行.
前台程序开发需要调用存储过程,为保证数据的完整性,使用了事务.具体结构如下

create proc deleteData

as

begin tran


  delete from tableA

  delete from tableb

commit tran


if @@trancount>0

rollback tran

这个存储过程本来是很简单的,并且在查询分析器中执行也是成功.但前台程序一调用

竟然会出现事务回滚的现象.使用了多种方法来处理,但还是无法解决,故请各位大侠多

多多帮忙!!

[解决办法]

SQL code
--改为:create   proc   deleteData as set xact_abort onbegin   tran     delete   from   tableA     delete   from   tableb commit   tran return 0
[解决办法]
set xact_abort on
------------
这个是什么意思?楼上的大虾
[解决办法]
当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
[解决办法]
SET XACT_ABORT 为ON 的时候,表示如果出现错误的话,那么整个包裹在事务中的执行语句将自动回滚.
如果设置为OFF的时候,表示如果执行的语句中,哪句出现了错误,那么这句语句引起的数据变动将回滚.而其他不会回滚.

热点排行