我在存储过程中用BEGIN TRAN和COMMIT TRAN的问题。 COMMIT TRAN只会提交当前事物ROLLBACK TRANSACTION会回滚所有的嵌套事物。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 像你的例子,根本不用加ROLLBACK语句,任何一句出错后隐式事物会回滚整个事物。 判断@@error全局变量参数当@@error <> 0 时回滚在事务处理中只要你没有COMMIT,事务就不会提交,所以在事务提交前判断全局变量@@error参数,出错时就ROLLBACK TRANSACTION,否则COMMIT TRANSACTION 那我是不是像如下写就可以了呢,谢谢。BEGIN TRANselect ....insert ....update ...IF @@error <> 0ROLLBACK TRANSACTIONELSECOMMIT TRAN 大家幫我看下下面錯在哪裡 查询字段数据类型 视图中字段嵌套引用的解决方法 C\S结构,局域网内经常连接超时是怎么回事? 两表相加的更新的sql 语句 日期时间格式 reporting services报表怎么实现双层圆饼图 把字符串2005-02-03 00:00:00变cast成datetime出错 我想问一下怎么在安装程序中创建数据库、表和存储过程。 将一个表中列更新为另外表中的列,没有对应关系,怎么更新? 将ACESS数据库的信息定时发送到服务器端的SQL SERVER 7。0数据库中 请问sql server在什么情况下会关闭所有的客户端连接?
当@@error <> 0 时回滚
在事务处理中只要你没有COMMIT,事务就不会提交,所以在事务提交前判断全局变量@@error参数,出错时就ROLLBACK TRANSACTION,否则COMMIT TRANSACTION
insert ....
update ...IF @@error <> 0
ROLLBACK TRANSACTION
ELSE
COMMIT TRAN