注册 登录
编程论坛 SQL Server论坛

事务的问题

人妖123 发布于 2007-11-23 16:08, 1047 次点击
我现在有这样的需求 我现在需要同时在2个表添加记录的同时UPDATE第3个表。我想用事务来处理,怎么写啊?


CREATE PROCEDURE AddJobmaste

insert  into table1()  valuses()
insert into table2()  values()

update table3() set ....


怎么用事务管理起来,我是说格式。:( :L :$
8 回复
#2
purana2007-11-23 16:14
begin tran
   insert  into table1()  valuses()
   insert into table2()  values()

   update table3() set ....
if @@error=0
    commit tran
else
    rollback tran

--这样行不?
#3
人妖1232007-11-23 16:21
你猜得还是怎么的啊?

好像不是这样的。
#4
人妖1232007-11-23 16:25
我是这样写的,好像报错。

CREATE PROCEDURE AddJobmaste
。。。。
AS
begin transaction
insert into table1 ......
insert into table2 ........
update table3 ....

if error<>0
rollback
end
#5
purana2007-11-23 16:49
按我这样子写..有错吗?
#6
缘吇弹2007-11-23 16:53
呵呵,人家又没说你的错.
#7
人妖1232007-11-23 17:21
我的是2005  能不能给我个标准的事务处理存储过程啊?
谢谢了
#8
purana2007-11-23 17:31
CREATE PROCEDURE AddJobmaste
AS
begin tran
   insert  into table1()  valuses()
   insert into table2()  values()

   update table3() set ....
if @@error=0
    commit tran
else
    rollback tran
go
#9
smoon2007-11-26 09:20
楼上的写的就很对啊,commit tran
楼主是不是少这句啊?

[[italic] 本帖最后由 smoon 于 2007-11-26 09:23 编辑 [/italic]]
1