BEGIN TRAN不能和GO一起用
来源:互联网 发布:linux tomcat启动不了 编辑:程序博客网 时间:2024/06/11 01:29
一:开事务的SQL语句中,如果有GO,脚本执行报错的话(第一个SQL语句报错),无法回滚。
示例:
BEGIN TRAN --ROLLBACK
USE TEST;
CREATE TABLE T9(ID INT E); --这个语句有问题
GO
CREATE TABLE T10(ID INT);
GO
执行该SQL语句,报错:
现在,想回滚,发现T10已经创建了,回滚不掉了。
如果SQL语句不报错,是可以回滚掉的。
二:有时,还是可以回滚掉的。
例如:
SELECT *
FROM T8;--是空的
USE TEST;
BEGIN TRAN
INSERT INTO T8(ID,VERSIONSTARTTIME) VALUES(1,GETDATE() );
GO
INSERT INTO T8(ID,VERSIONSTARTTIME) VALUES(2,GETDATE() E);--这个语句有错误
GO
INSERT INTO T8(ID,VERSIONSTARTTIME) VALUES(3,GETDATE() );
GO
报错提示:
回滚事务ROLLBACK
再次查询,查询结果为空。
真奇特!
以防回滚不了,BEGIN TRAN还是不要和GO一起使用。
0 0
- BEGIN TRAN不能和GO一起用
- Sql Server 中提供了begin tran,commit tran和rollback tran
- SQL事务用法begin tran,commit tran和rollback tran的用法
- 学习BEGIN TRAN ||COMMIT TRAN
- Jqgrid之onSelectRow 和onCellSelect 事件不能一起用-yellowcong
- begin tran ~~rollback
- sql语句中BEGIN TRAN...COMMIT TRAN
- sql语句中BEGIN TRAN...COMMIT TRAN
- SQL 事务 begin tran、commit tran、rollback tran 的用法
- const和volatile一起用
- Dialog 和 RecyclerView 一起用
- 无线网卡和本地连接一起用
- vs和flex怎样一起用?
- ajax和setTimeout一起用注意问题
- find和for怎么一起用
- volatile和const可以一起用
- oracle order by和rownum 一起用
- float:left和display:inline一起用
- cassandra新增、更新、删除数据。
- hdu 1044 BFS(压缩图)+DFS
- mysql 出现2003- cant connect to MYSQL server on localhost 的解决办法
- WP或将不再小众:微软与高通合作 共推WP一体化设计方案
- Spring管理filter和servlet,无硬编码bean
- BEGIN TRAN不能和GO一起用
- sql知识大全
- 现货白银投资技巧
- 【毕设资料】 Web版RSS阅读器(一)——dom4j读取xml(opml)文件
- 基于STM32的学习型通用红外遥控设备的设计实现(二)
- 关于OOM的原因和几点建议
- java网络编程(5):SMTP
- Ganymed SSH-2 for Java系列2之连接远程服务器
- UVa 10387 台球