游标+事务处理问题 SET XACT_ABORT ONbegin tran..........commit在出错后回滚所有修改。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 @@error只对最后一个数据库操作是否正确做标志;若在前面有INSERT或UPDATE不成功时,没有判断,只要update out_lib set post='Y',post_by=@name1,post_date=getdate() where out_lib_no=@inlib_no就认为成功了。 使用一个事务,在每个SQL后记下@@ERROR的值,在最后作一个COMMIT或ROLLBACK.我认为这样比较好,且结构易读. 个人认为不是所有的表都要一个事务,当你SET XACT_ABORT ON以后,无论你语句做错了什么sql都自动回滚,比如你里面的insert,如果主键重复就算出错。所以你需要一个总事务,然后在里面做你需要的东西,该加事务的加事务,不该加的不加。总事务最后只需要commit因为除了对就是错,而对于总事务错就自动回滚。你可以试试,但是逻辑复杂了不保证不出问题。 try use 分布提交事务(嵌套事务)来处理!对每一的事务进行判断,最后提交全部的事务,SET XACT_ABORT ON 从表A中通过查询把符合条件的记录插入到另一张表,怎么写? [求助]学习数据库编程应从哪里入手 索引的问题 关于查询统计考勤的问题 请教大家用SQL如何表示上个月26号到本月25号这个时间段? 请高手指点这条删除语句如何写? 一条SQL语句怎么写(超难) 查询5月11日到6月10日所有符合件条的数据,该语句怎么写 openrowset SQL认证模式 不能访问非本地文件(邹建请进) 全文检索中的问题? 临时表Inserted, Updated, Deleted 怎么使用的?? 急!有关sql语句的编写
若在前面有INSERT或UPDATE不成功时,没有判断,
只要
update out_lib set post='Y',post_by=@name1,post_date=getdate() where out_lib_no=@inlib_no
就认为成功了。
我认为这样比较好,且结构易读.
你可以试试,但是逻辑复杂了不保证不出问题。
SET XACT_ABORT ON