经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
Sqlserver 事务处理模板
来源:cnblogs  作者:杨jian  时间:2019/3/6 9:10:58  对本文有异议
  1. USE StuDB
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_live_send_answer_v4] Script Date: 06/20/2017 14:44:26 ******
    /
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author: YJ
  10. -- Create date: 2017-05-11
  11. -- Description: 事务
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[proc_name]
  14. @answer_id varchar(50),
  15. @answer varchar(10),
  16. @uid bigint,
  17. @roomid int=0 out,
  18. @count int=0 out
  19. AS
  20. begin
  21. set nocount on;
  22. if(charindex(':',@answer_id,1)=0)
  23. return;
  24. set @answer=replace(@answer,',','|');
  25. declare @Activity_No int;
  26. declare @quest_order tinyint;
  27. set @Activity_No = substring(@answer_id,1,charindex(':',@answer_id,1)-1);
  28. set @quest_order=substring(@answer_id,charindex(':',@answer_id,1)+1,len(@answer_id));
  29. --尽量缩短事务占用时间
  30. begin try
  31. begin tran
  32.  
  33. insert......a
  34. update......b
  35. delete......c
  36. commit tran
  37. select 1 as res,'' as remark
  38. end try
  39. begin catch
  40. if (@@trancount > 0)
  41. rollback;
  42. declare @ErrMESSAGE nvarchar(1024) = error_message(),
  43. @ERRSEVERITY int = error_severity(),
  44. @ERRSTATE int = error_state();
  45. raiserror(@ErrMESSAGE,@ERRSEVERITY,@ERRSTATE);--抛出错误
  46.  
  47. select 0 as res,'提交失败' as remark
  48. end catch
  49. end
  50.  

事务注意事项:事务里不能包含事务,也就是说当存储过程调用存储过程的时候,外层存储过程有事务时,被调用的存储过程不能写事务,不然事务回滚不了。

原文链接:http://www.cnblogs.com/YoungHeart/p/10475482.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号