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
本文展示了一个使用SQL事务处理的存储过程示例。该过程用于记录车辆入住信息,并更新车辆状态为已入住。通过事务确保了数据的一致性和完整性。

3500

被折叠的 条评论
为什么被折叠?



