sql server中开启一个事务,如果语句执行出错,是否该事务自动回滚(不需要rollback语句),
同时该事务自动结束,我测试是这样的,但是总不是很确定。。特地问下。
同时该事务自动结束,我测试是这样的,但是总不是很确定。。特地问下。
解决方案 »
- 救命,sqlserver2000禁用tcp/ip后,局域网内不能连接,重新启用,重新连接,还是不行?
- check约束
- 三表联合,我想要查询哪个订单哪些生产工序是否超过订单计划数量,没有思路也不知道怎么实现?
- update问题
- sqlservr.exe占用进程CPU100%,导致WEB网站动态页面很慢
- 用bcp将数据导入SQL2008 简体中文 显示乱码问题
- select …into…和insert … select …的区别是什么?
- 保存0001这种数据,应该用什么数据类型?
- 如何用sql语句创建标识列,如何用sql语句改变标识列的步长和起始值?万分感谢~
- 存储过程的返回值
- 麻烦各位高手帮帮我 我的SQLEXPRESS无法启动了
- SET XACT_ABORT ON到底怎么用?搜索来的解释好像不对啊?
出错自动回滚,默认是OFF
指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server&S482; 是否自动回滚当前事务。语法
SET XACT_ABORT { ON | OFF }注释
当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
insert into t2 select 1
insert into t2 select 2
insert into t2 select 2 --制造主键重复的错误.
insert into t2 select 3
commit transelect ID from t2 -->空表,因事务过程错误,全部自动回滚.--如果未加 SET XACT_ABORT ON 则
select ID from t2
ID
----
1
2
3