在存储过程的编写中难免会遇到调用同库他人的proc和跨库调用proc,还有一个proc中有多条对多表进行写入和修改的语句.那么就会用到tran. 如果我们在不写try的情况下就要对每个insert,update的后面写上 BEGIN ROLLBACK TRAN END 来确保所有语句的正常执行和有影响的行数. 而在写了try的情况下,我们就可规范一下写法,利用RAISERROR ) ) DECLARE @nResult INT ) BEGIN TRY BEGIN TRAN BEGIN SET @…
存储过程中的 SET XACT_ABORT ON 和事务 在存储过程中写SET XACT_ABORT ON 有什么用? SET XACT_ABORT ON是设置事务回滚的! 当为ON时,如果你存储中的某个地方出了问题,整个事务中的语句都会回滚 为OFF时,只回滚错误的地方 ----------------------------------------------------------------------------------------------- 第一种情况:每次成功执行一条语句就…