SQL Server 事务及回滚事务的几种方法
第一种:
declare @iErrorCount int
set@iErrorCount=0
begintran Tran1
insertinto t1(Id, c1) values(1,'1')
set@iErrorCount=@iErrorCount+@@error insertinto t1(Id, c1) values('XX2','2')
set@iErrorCount=@iErrorCount+@@error if@iErrorCount=0
begin
COMMITTRAN Tran1 --执行事务
end
else
begin
ROLLBACKTRAN Tran1 --回滚事务
end
第二种:
Begin Try
BeginTran Tran1
insertinto t1(Id, c1) values(1,'1')
insertinto t1(Id, c1) values('XX2','2') --此句产生错误
COMMITTRAN Tran1
END Try
Begin Catch
raiserror 50005N'出错了'
ROLLBACKTRAN Tran1 ---出错后调用回滚
END Catch
第三种:
SET XACT_ABORT ON----语句产生运行时错误,则整个事务将终止并回滚。
BeginTran
INSERTINTO t1(Id, c1) VALUES(1,'1')
INSERTINTO t1(Id, c1) VALUES('XX2','2') --此句产生错误时,就会回滚整个事务
CommitTran
SQL Server 事务及回滚事务的几种方法的更多相关文章
- [SQL]SQL Server 事务及回滚事务
第一种: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/ ...
- SQL Server 批量插入数据的两种方法
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍 SQL Server支持的两种批 ...
- SQL Server 批量插入数据的两种方法(转)
此文原创自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor/archive/2009/07/18/4360030.aspx 在SQL Server 中插入一条 ...
- 转:SQL Server 批量插入数据的两种方法
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量 ...
- SQL Server中迁移数据的几种方法
1.通过工具"DTS"的设计器进行导入或者导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不 多,如果只是进行SQL Server数据库中部分表的 ...
- SQL Server 查询表的记录数(3种方法,推荐第一种)
http://blog.csdn.net/smahorse/article/details/8156483 --SQL Server 查询表的记录数 --one: 使用系统表. SELECT obje ...
- 【转】SQL Server 查询表的记录数(3种方法,推荐第一种)
--SQL Server 查询表的记录数 --one: 使用系统表. SELECT object_name (i.id) TableName, rows as RowCnt FROM sysindex ...
- SQL Server数据导入导出的几种方法
在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,结合我在做项目时的经历做一下汇总: 1. SQL Server导入导出向导,这种方式是最方便的. 导入向导 ...
- SQL Server 查看表定义的 2 种方法
方法 1. 用SQL Server Management Studio 第一步找到要查看的表,右键 第二步点设计 方法 2. sp_help @objname = 'tableName' execut ...
随机推荐
- @font-face的用法
几乎所有浏览器(包括最古老的IE6)也支持的网络字体@font-face的用法是: @font-face { font-family: 'MyWebFont'; src: url('webfont.e ...
- 好用的API文档--在线版
安卓在线api http://www.android-doc.com/reference/packages.html
- Eclipse+EPIC+PadWalker
来源: http://www.cnblogs.com/itech/archive/2010/02/23/1671676.html http://blog.csdn.net/haoyujie/artic ...
- 20160128_关于SVN提交不了并且还提示升级的解决方法
因为是在项目中新增了文件夹,可能是直接在文件夹里放入文件,导致svn没有读取到文件信息,所以提交不了. 搞了一晚上,蛋疼死,解决方法:把新增的文件夹复制出来,删掉里面的 .svn文件夹.然后删掉项目里 ...
- Spring中实现监听的方法
在未使用框架进行编程的时候,我们常常在web.xml中加上这样一段话 <listener> <listener-class>XXX</listener-class> ...
- 获取Excel部分数据并很据项目要求计算适宜性等级综合指数判断该地区的土壤适宜性
代码运行前请先导入jxl架包,以下代码仅供学习参考: 下图为项目中的Excel: ExcelTest02类代码如下: // 读取Excel的类 import java.io.BufferedWrite ...
- LightOJ 1030 Discovering Gold 数学期望计算
题目大意:给出长度为n的一条隧道,每个位置都有一定数量的财宝.给你一枚骰子,roll到几点就前进几步,如果即将到达的地方超过了这条隧道长度,就重新roll一次,走到n点结束.求这个过程能收获多少财宝. ...
- eclipse的调试方法的简单介绍
声明:本文不是自己 作为编程人员,程序的调试是一项基本功.在不使用IDE的时候,程序的调试多数是通过日志或者输入语句(System.out.println)的方式.可以把程序运行的轨迹或者程序运行过程 ...
- 关于glibc中的res_init()函数
/* * Set up default settings. If the configuration file exist, the values * there will have precede ...
- MySql数据库基本介绍和基本语法
一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系统中,关系型数据库使用最为 ...