以下是SQL 回滚的语句:
方案一:
SET XACT_ABORT ON--如果产生错误自动回滚
GO
BEGIN TRAN
INSERT INTO A VALUES (4)
INSERT INTO B VALUES (5)
COMMIT TRAN
也
可以使用_ConnectionPtr 对象的方法: BeginTrans、CommitTrans、RollbackTrans,使用该系列函数判断
并回滚。一旦调用了 BeginTrans 方法, 在调用 CommitTrans 或 RollbackTrans 结束事务之前, 数据库将不再立
即提交所作的任何更改。
方案二
BEGIN TRANSACTION
INSERT INTO A values (4) -----
该表含有触发器,UPDATE其他表
IF @@error <> 0 --发生错误
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
END
SET XACT_ABORT
指定当 Transact-SQL 语句产生运行时错误时,Microsoft®
SQL Server™ 是否自动回滚当前事务。
语法
SET
XACT_ABORT { ON | OFF }
注释
当 SET
XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF
时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET
XACT_ABORT 的影响。
对于大多数 OLE DB 提供程序(包括 SQL
Server),隐性或显式事务中的数据修改语句必须将 XACT_ABORT 设置为
ON。唯一不需要该选项的情况是提供程序支持嵌套事务时。有关更多信息,请参见分布式查询和分布式事务。
SET
XACT_ABORT 的设置是在执行或运行时设置,而不是在分析时设置
分享到:
相关推荐
本文将深入探讨SQL2000中关于事务回滚的问题,特别是面对严重错误时的行为。 首先,我们需要理解`SET XACT_ABORT ON`这个选项的作用。它是一个T-SQL语句,用于设置一个会话或批处理中的事务处理行为。当`XACT_ABORT...
### 多行SQL导入ACCESS事务的代码写法 #### 知识点概述 本文档将详细介绍如何使用ADO(ActiveX Data Objects)技术结合事务处理功能,实现多行数据的高效导入到Microsoft Access数据库中的方法。在开发过程中,...
以上示例展示了如何在存储过程中处理错误,并使用事务回滚来保持数据一致性。 #### 总结 通过上述示例,我们可以看到 SQL Server 存储过程的强大功能及其应用场景。合理的利用存储过程不仅可以提高系统的性能和...
6. **异常处理**:在DAO方法中,应该遵循良好的异常处理策略,通常包括事务回滚、记录日志和抛出异常。当捕获到异常时,应使用`rollback()`回滚事务,记录详细的错误日志,并根据情况决定是否需要向上层抛出异常。 ...
7. DB2 SQL的进阶及优化:这部分内容通常会介绍如何通过各种方法和技巧来优化SQL语句的性能,例如,合理利用索引、调整表的设计、改进查询语句的写法等。这些优化策略对提高数据库的运行效率有着至关重要的作用。 ...
默认情况下,单个SQL语句即是一个事务,但在需要确保一组操作全部成功或全部回滚的情况下,显式使用`BEGIN TRAN`来开启事务更为合适。这样可以确保多个操作作为一个整体执行,提高数据的完整性。然而,过度使用事务...
- `TRUNCATE TABLE` 不支持回滚事务,一旦执行即无法撤销。 - 该命令不会触发定义在表上的任何删除触发器。 #### 2. ALTER TABLE 命令 - **概述**:`ALTER TABLE` 命令用于修改现有表的结构,包括添加、删除列、...
综上所述,Spring注入文件的写法涉及了数据源、Hibernate集成、事务管理和DAO的声明及配置。通过这种方式,Spring能够提供一个灵活且强大的基础设施,支持数据库操作和事务管理,同时保持代码的整洁和模块化。
这将决定SQL脚本的具体写法。 4. **性能优化**:一次性插入大量数据可能会对数据库性能造成影响。因此,可能需要批量插入,比如一次插入多行,以减少数据库事务的开销。 5. **工具的使用**:除了手动编写SQL脚本,...
例如,在进行跨表的插入、删除或更新操作时,可以使用`BEGIN TRAN`明确界定事务边界,并在事务完成后及时提交或回滚。 通过上述方法,可以有效提升数据库的访问性能,确保系统运行更加高效、稳定。
但是,TRUNCATE不支持事务回滚,且不能配合WHERE子句使用。 #### 十、合理使用COMMIT 在事务处理中,适时使用COMMIT可以释放锁资源,减少日志缓冲区占用,并提高系统整体响应速度。但是,过度频繁的COMMIT也可能...
5. **事务控制语言(TCL)**:用于管理事务的开始、提交和回滚等操作。 #### 三、常用 SQL 语句写法 ##### 1. SELECT 语句 SELECT 语句是最常用的 SQL 查询语句,用于从数据库中检索数据。 - **基本语法**: ```...
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前...
Rollback Segments则是用于回滚事务,它们的配置也会影响数据库的性能。 其次,对于操作计划的制定和理解,这是影响SQL性能的关键环节。一条SQL语句在执行前,DBMS会执行多个步骤,包括SQL语法检查、SQL语义研究、...
`,这种写法只返回所需的数据列,减少了网络传输的数据量。 #### 4. 使用合适的函数 某些SQL函数可能会影响查询性能,尤其是在大量数据上使用时。因此,在选择函数时应考虑其对性能的影响。例如,使用`SUBSTR`或`...
1. **事务管理**:由于批量更新涉及到多行操作,建议使用`BEGIN TRANSACTION`、`COMMIT`或`ROLLBACK`来确保数据的一致性,防止因部分更新失败导致数据不一致。 2. **索引优化**:确保关联的字段有合适的索引,特别...
查询表达式类似SQL的写法,而方法链则利用一系列查询方法如Where、Select、OrderBy等组合完成查询。 4. **匿名方法**:在提供的`DemoAnonymousMethod`示例中,可能会涉及如何在`Linq to SQL`查询中使用匿名方法。...
例如,使用`Connection.setAutoCommit(false)`开启手动提交事务,当所有操作成功后再调用`Connection.commit()`提交,若出现错误则调用`Connection.rollback()`回滚。 总的来说,掌握Oracle的常用函数和JDBC的基本...
作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...