存储过程中写事务

jy00578880 2009-07-01 02:33:33
有一存储过程

create proc aaa
参数...
as
SQL语句1
SQL语句2
SQL语句3
go

现在里面写的3个语句没在同一事物中 若是改成同一事务中该如何写
...全文
51 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
oracle185 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhanlixin 的回复:]
create proc aaa
参数...
as
begin tran
SQL语句1
if @@error<>0
begin
rollback tran
return -1
end
SQL语句2
if @@error<>0
begin
rollback tran
return -1
end
SQL语句3
if @@err……
[/Quote]
老师,看了你的代码受益匪浅,但我有个问题还是无法解决,帮我看看吧
http://topic.csdn.net/u/20111206/15/3cf9de43-bf54-4bf3-8041-ebaabcc7a68f.html
jy00578880 2009-07-02
  • 打赏
  • 举报
回复
的确行 正准备把分都给他
z050301402 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhanlixin 的回复:]
create proc aaa
参数...
as
begin tran
SQL语句1
if @@error <>0
      begin
        rollback tran
        return  -1
      end
SQL语句2
if @@error <>0
      begin
        rollback tran
        return  -1
      end
SQL语句3
if @@error <>0
      begin
        rollback tran
        return  -1
      end

commit tran
go

[/Quote]

三楼应该行的
jscn123789abc 2009-07-01
  • 打赏
  • 举报
回复
ding...
jy00578880 2009-07-01
  • 打赏
  • 举报
回复
2楼的你写的那个看着挺清爽 我试了下如果 SQL语句1 执行成功 SQL语句2 执行失败
语句1 根本没回滚啊
Zhanlixin 2009-07-01
  • 打赏
  • 举报
回复
create proc aaa
参数...
as
begin tran
SQL语句1
if @@error<>0
begin
rollback tran
return -1
end
SQL语句2
if @@error<>0
begin
rollback tran
return -1
end
SQL语句3
if @@error<>0
begin
rollback tran
return -1
end

commit tran
go
feiyun0112 2009-07-01
  • 打赏
  • 举报
回复

create proc aaa
参数...
as
BEGIN TRANSACTION
SQL语句1
SQL语句2
SQL语句3
COMMIT TRANSACTION
go


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://feiyun0112.cnblogs.com/
falx2004 2009-07-01
  • 打赏
  • 举报
回复
将这三句写成一个存储过程

110,569

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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