sql 中的Tran 俩种写法

第一种写法 try catch:

Begin TRYBegin Tran transactionDECLARE @ServiceOrderId INT SET @ServiceOrderId=73342DECLARE @ErrorCount  INT SET @ErrorCount = 0--调整积分通订单状态 支付完成UPDATE dbo.ServiceOrderNewSET OrderStatus = 2,UpdateDate = GETDATE()WHERE  ServiceOrderID = @ServiceOrderId--调整订单详细UPDATE dbo.ServiceOrderNewDetailSET DetailStatus = 2WHERE ServiceOrderID = @ServiceOrderId Commit Tran transactionEND TRYBEGIN CATCHROLLBACK Tran transaction
END CATCH

第二种写法 用错误积累:

DECLARE @ServiceOrderId INT
SET @ServiceOrderId=73342BEGIN TRAN  ADECLARE @ErrorCount  INT SET @ErrorCount = 0--调整积分通订单状态 支付完成UPDATE dbo.ServiceOrderNewSET OrderStatus = 2,UpdateDate = GETDATE()WHERE  ServiceOrderID = @ServiceOrderIdSET @ErrorCount=@ErrorCount+@@error--调整订单详细UPDATE dbo.ServiceOrderNewDetailSET DetailStatus = 2WHERE ServiceOrderID = @ServiceOrderIdSET @ErrorCount=@ErrorCount+@@error--付款状态UPDATE dbo.ScorePayApplySET ApplyStatus = 2WHERE  ScorePayApplyID = (SELECT TOP 1 ScorePayApplyID FROM ServiceOrderNewDetail WHERE ServiceOrderID = @ServiceOrderId)SET @ErrorCount=@ErrorCount+@@errorSET @ErrorCount=@ErrorCount+@@errorIF @ErrorCount=0 BEGIN   COMMIT TRAN  AEND ELSE   BEGIN   ROLLBACK TRAN  AEND 

第二 TransactionScope用法

 using (TransactionScope tran = new TransactionScope()){try{ServiceItemDataAccess.ServicesConfirmPayment(serviceOrderId, remark, serviceId);//提交事务tran.Complete();}catch (Exception ex){return ex.ToString();}finally{tran.Dispose();}}

TransactionScope 是一个轻量级的事物,在using中,若程序报错,则自动回滚。tran.Complete();是指程序成功,提交。 tran.Dispose(); 释放和销毁。

欢迎大家提出意见,尤其是在介绍时的意见,本人逻辑思维不是很严谨,所以导致要么叙述啰嗦,要么 说明不是很清楚

转载于:https://www.cnblogs.com/q101301/p/4646146.html

sql中的Tran和C#中的TransactionScope介绍相关推荐

  1. SQL Server 2014新功能 -- 内存中OLTP(In-Memory OLTP)

    概述 内存中OLTP(项目"Hekaton")是一个全新的.完全集成到SQL Server的数据库引擎组件. 对OLTP工作负载访问中在内存中的数据进行了优化.内存中OLTP能够帮 ...

  2. 为了熟练掌握动态SQL你必须要知道Mybatis中的OGNL表达式

    前言 OGNL是个什么东西?很多刚入门Java的同学会有点陌生.但是在Structs流行的时代OGNL可是必会的数据渲染技术.它全称Object Graph Navigation Language,作 ...

  3. SQL Server 2000 Service Pack 4 中所修复的 bug 的列表

    有关在 SQL Server 2000 Service Pack 4 已修复的 bug 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 314128  FIX: 一 ...

  4. Java连接SQL2005及SQL Server JDBC Driver 2.0中sqljdbc.jar和sqljdbc4.jar的区别

    第一.Java连接SQL2005 一.JAVA连接SQL的语句 JAVA连接SQL2000语句为: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver&q ...

  5. sql 解析字符串添加到临时表中 sql存储过程in 参数输入

    sql 解析字符串添加到临时表中  sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表   FROM dbo.Func_SplitOneCol ...

  6. sql 注射_只能在测试中注射吗?

    sql 注射 本文是关于测试设计和可测试性的一些想法. 我们与我的儿子讨论了一些问题,他的儿子是Java的初级开发人员,目前在匈牙利的EPAM(我工作的同一家公司,但在另一家公司工作)受雇并学习. 本 ...

  7. oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办

    在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...

  8. ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接

    ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接 原文:ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接 安装ArcSDE fo ...

  9. python解析sql文件_如何从Python中解析sql文件?

    是否有任何方法可以从Python中执行.SQL文件中的某些SQL命令,而不是文件中的所有SQL命令?假设我有以下.sql文件:DROP TABLE IF EXISTS `tableA`; CREATE ...

最新文章

  1. 【微信小程序企业级开发教程】生命周期和app对象详解
  2. 【uni-app】小程序实现微信在线聊天(私聊/群聊)
  3. 云栖大会发布全球调度算法大赛,阿里又要搞什么黑科技?
  4. python元组是数组吗,Python基础(4)——数组元组
  5. java additem 错,Java错误:IllegalArgumentException:向容器添加窗口
  6. winfrom实现简单计算器V2版本
  7. highCharts文档与演示效果的使用 - 文档(应用型)解读
  8. 配置EditPlus
  9. 汲取Linux灵感 Pivotal开源大数据套件
  10. html垂直线6,HTML的垂直线
  11. Spring基于注解及SpringMVC
  12. Gather more plan statistics by gather_plan_statistics hint
  13. lunix入侵别人电脑_记录一次Linux的实战入侵过程
  14. java电商项目源码_电子商务系统+java+web+完整项目+包含源码和数据库Java实用源码(示例代码)...
  15. 从零开始学习Android开发-Android概览
  16. 【MATLAB】图像分割实验
  17. 数学中常见的曲面方程及形状
  18. 四部金融投资经典教材和30部必读的投资学经
  19. 湖南大学计算机专业推免生,湖南大学2018年招收推荐免试攻读研究生简章
  20. 苹果电脑双系统正确打开方式,虚拟机已经Out了

热门文章

  1. python可以干嘛知乎-一行Python代码能做什么?
  2. 2018python培训-参加python培训要多少钱?
  3. java好还是python好-学Python 好还是java 好?
  4. python代码大全表解释-【初学】Python异常代码含义对照表
  5. 用python画皮卡丘画法-python turtle绘图库绘制【皮卡丘】源码
  6. python画柱状图代码-Python绘制堆叠柱状图的实例
  7. python编程用什么电脑好-初学Python编程看哪些书比较好?
  8. 为什么python画不了图-解决python中使用plot画图,图不显示的问题
  9. python 编程入门-Python编程入门电子书教程,看这几个就够了
  10. python用途与前景-Python 就业方面的选择与应用分析