34,576
社区成员
发帖
与我相关
我的任务
分享
begin tran
INSERT INTO 物料采购表(编号,采购方式,操作员,说明)
values(@NEW_ID,@采购方式,@操作员,@说明)
if @@error<>0
goto error
INSERT INTO 物料采购表明细(物料采购表编号,申购表编号)
values(@NEW_ID,@申购表编号)
if @@error<>0
goto error
update 申购表 set flag_cg=1 where 编号=@申购表编号
if @@error<>0
goto error
commit tran
return 0
error:
rollback tran
return 1
---如果是分别回滚 这样
begin transaction tr_cg
begin
INSERT INTO 物料采购表(编号,采购方式,操作员,说明)
values(@NEW_ID,@采购方式,@操作员,@说明)
end
begin
INSERT INTO 物料采购表明细(物料采购表编号,申购表编号)
values(@NEW_ID,@申购表编号)
end
begin
update 申购表 set flag_cg=1 where 编号=@申购表编号
end
commit transaction tr_cg
--SORRY 修改下
set xact_abort on
begin transaction tr_cg
INSERT INTO 物料采购表(编号,采购方式,操作员,说明)
values(@NEW_ID,@采购方式,@操作员,@说明)
INSERT INTO 物料采购表明细(物料采购表编号,申购表编号)
values(@NEW_ID,@申购表编号)
update 申购表 set flag_cg=1 where 编号=@申购表编号
commit transaction tr_cg
SET XABORT ON
begin transaction tr_cg
INSERT INTO 物料采购表(编号,采购方式,操作员,说明)
values(@NEW_ID,@采购方式,@操作员,@说明)
INSERT INTO 物料采购表明细(物料采购表编号,申购表编号)
values(@NEW_ID,@申购表编号)
update 申购表 set flag_cg=1 where 编号=@申购表编号
commit transaction tr_cg
begin transaction tr_cg
INSERT INTO 物料采购表(编号,采购方式,操作员,说明)
values(@NEW_ID,@采购方式,@操作员,@说明)
ROLLBACK
INSERT INTO 物料采购表明细(物料采购表编号,申购表编号)
values(@NEW_ID,@申购表编号)
ROLLBACK
update 申购表 set flag_cg=1 where 编号=@申购表编号
ROLLBACK
commit transaction tr_cg