sql 事务回滚 tran
CREATE PROCEDURE dbo.xlwy_NewCarReside
(
@Carid bigint,
@Buildid bigint,
@remark varchar(255)='',
@Billdate smalldatetime,
@billman varchar(50)='',
@residedate smalldatetime
)
AS
set xact_abort on
BEGIN TRANSACTION tran_start
insert into wy_carreside (buildid,carid,remark,billdate,billman,residedate,savedate)values(@buildid,@carid,@remark,@billdate,@billman,@residedate,getdate())
if(@@error>0 or @@rowcount=0)
begin
goto err_lab
end
update wy_ownercar set isreside='是' where id=@carid
if(@@error>0 or @@rowcount=0)
begin
goto err_lab
end
commit tran tran_start
return
err_lab:
rollback tran tran_start
GO
CREATE PROCEDURE dbo.xlwy_NewCarReside
(
@Carid bigint,
@Buildid bigint,
@remark varchar(255)='',
@Billdate smalldatetime,
@billman varchar(50)='',
@residedate smalldatetime
)
AS
set xact_abort on
BEGIN TRANSACTION tran_start
insert into wy_carreside (buildid,carid,remark,billdate,billman,residedate,savedate)values(@buildid,@carid,@remark,@billdate,@billman,@residedate,getdate())
if(@@error>0 or @@rowcount=0)
begin
goto err_lab
end
update wy_ownercar set isreside='是' where id=@carid
if(@@error>0 or @@rowcount=0)
begin
goto err_lab
end
commit tran tran_start
return
err_lab:
rollback tran tran_start
GO