Sql Server存储过程事务处理
2020-02-02 13:09
1006 查看
-- ============================================= -- Author:<rachael> -- Create date: <2019-1-4> -- Description: <存储过程说明> -- ============================================= ALTER PROCEDURE [dbo].[pSalaryPay_Upd_ConfirmSalaryPay] @CID NVARCHAR(100) = N'' --入参 AS BEGIN SET NOCOUNT ON; SET XACT_ABORT ON; --开启产生运行时错误,整个事务将终止并回滚 --在TRY_CATCH块之前,可以来定义变量。或者进行一些数据判断 --TRY_CATCH块。说明:TRY/CATCH都是成对出现的,有BEGIN就一定要有END。就像JAVA中的花括号 BEGIN TRY --对可能出现异常的处理,或者判断。放在TRY_CATCH块中。 --对临时表的操作也可以在这里进行。在上面或者这里定义都可以。 --添加事务保证下面的行级锁保持到事务的结束(ROWLOCK、XLOCK必须放在事务中) BEGIN TRANSACTION; --增、删、改。对数据库的操作在事务中。 --锁会在事务结束后释放。不管是回退还是提交。都会释放。 --变动前锁定指定数据。 SELECT * FROM DBO.TAB WITH(XLOCK,ROWLOCK,READPAST) --排他锁,行级锁,指明数据库引擎返回结果时忽略加锁的行或数据页 WHERE ISDEL = 0 AND CID = @CID; --READPAST 说明:不会返回锁定的记录。这个语句的缺点是,其他操作不返回锁定的记录,只到事务释放才会释放锁。 --锁定后变更 UPDATE DBO.TAB SET ISDEL = 1 WHERE ISDEL = 0 AND CID = @CID; SELECT 0 AS ErrorCode,'确认成功' AS ErrorMsg; COMMIT TRANSACTION; END TRY BEGIN CATCH ROLLBACK TRANSACTION; --如果发生异常,且存在事务,则回滚。 SELECT 2 AS errorCode,'确认失败' AS errorMsg; END CATCH END
转载于:https://www.cnblogs.com/rachael/p/10095248.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- SQL Server在存储过程中编写事务处理代码的三种方法
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- SQL Server存储过程中编写事务处理的方法小结
- SQL Server在存储过程中编写事务处理代码的三种方法
- (转) SQL Server在存储过程中编写事务处理代码的三种方法
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- sql server 存储过程事务处理实现批量删除
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- SQL Server:存储过程中编写事务处理的方法小结
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- SQL Server在存储过程中编写事务处理代码的三种方法
- 在存储过程中使用事务处理 sql server 删除多表操作一致性的问题
- sql server 存储过程事务处理
- SQL Server在存储过程中编写事务处理代码的方法
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- SQL Server在存储过程中编写事务处理代码的三种方法
- SQL Server存储过程中编写事务处理的方法小结
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- SQL Server在存储过程中编写事务处理代码的三种方法
- SQL Server在存储过程中编写事务处理代码的三种方法