----SQL SERVER语句问题:

neary 2002-06-13 07:57:40
begin tran --事务开始

begin
declare @SQL1 varchar(255)
set @SQL1 = '....'
exec(@sql1)
--如果此处出错,是否可以回滚?
end

if @@ERROR = 0
begin
commit tran --事务提交
End
Else
begin
rollback --事务回滚
End
...全文
67 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILOVEVB2002 2002-06-14
  • 打赏
  • 举报
回复
偏不说!
neary 2002-06-14
  • 打赏
  • 举报
回复
gz
lincanwen 2002-06-14
  • 打赏
  • 举报
回复
你后面有了错误处理,那边就不用回滚,不然后面的回滚可能会出现错误。
if @@ERROR = 0
begin
commit tran --事务提交
End
Else
begin
rollback --事务回滚
End
lincanwen 2002-06-14
  • 打赏
  • 举报
回复
你后面有了错误处理,那边就不用回滚,不然后面的回滚可能会出现错误。
if @@ERROR = 0
begin
commit tran --事务提交
End
Else
begin
rollback --事务回滚
End
neary 2002-06-14
  • 打赏
  • 举报
回复
up again
abcmouse 2002-06-14
  • 打赏
  • 举报
回复
我认为可以回滚。不过一般情况我是这样写的:

......

begin tran mytran
.....
if @@error<>0
begin
rollback tran mytran
return (返回值)
end
commit tran mytran
return (返回值)
neary 2002-06-14
  • 打赏
  • 举报
回复
up
Czh_cz 2002-06-14
  • 打赏
  • 举报
回复
为什么不用
on error goto语句呢?
neary 2002-06-14
  • 打赏
  • 举报
回复
again gz
daehappy 2002-06-13
  • 打赏
  • 举报
回复
up!关注!

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧