SQLSERVER2000存储过程事务问题 我写了个存储过程里面包含事务 但是当我insert失败的时候 事务没有回滚 并报出了主键重复的错误 语句终止 请我如何解决~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在事务开始前,加一句 set xact_abort oncreate procedure sp_nameasbeginset xact_abort onbegin tran [事务代码]commit tranend 设置自动回滚当前事物。把主键删了看看。把错误打印出来 print @@error "当主键重复就报错"是正常的.(不报错才不正常)但是,有set xact_abort on的话,事务中遇错是自动回滚的.也就是说其实没有插入,事务中的其他语句也一起被回滚了. SQL2000没有try.. catch..可以在前端程序中用try.. catch..捕获异常,才知道是否执行成功.加set xact_abort on的目的是保证事务可正常回滚,即全做或全不做. 是不是 用sqlserver 2005就能起到回滚作用 并返回操作是否成功? SQL2000,有"set xact_abort on"也能自动回滚,但无法返回操作是否成功.SQL2005及以上版本,有"set xact_abort on"也能自动回滚,用try.. catch..就能返回操作是否成功. 谢了问题以解决 把数据库挂在sqlserver2005就可以了 小弟第一次求救SQL封号问题 全文检索的问题 求一sql语句 请高手指点 在线等 小弟有个排序的问题想请教大家 我想根据一列的值来设置另一列的值 如何用存储过程实现? 我安装的sql server 2000目录下怎么没有80\Tools\Binn\ 在SQL语句中如何实现字符串的截取? RECMODEL_70BACKCOMP 参数 一问 关于单击enter键触发事件的问题 有个SQL server的数据库,用了有段时间了,怎么知道那些地方要补做索引? sql server跨数据库进行定时数据比对 用vs集成的数据库,为什么无法连接到本地服务器,详细内容如下
as
begin
set xact_abort on
begin tran
[事务代码]
commit tran
end