`
tower
  • 浏览: 243770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle需要显式结束事务

阅读更多
oracle不需要显式的开始事务,事务会在修改数据的第一条语句处开始,但是oracle必须显示结束事务。这个和informix不一样,在informix数据库中,如果不显式声明事务的话,则每条修改的语句都是单独的事务,并马上自动提交。

这是两个数据库在锁和事务实现的机制不一样,在informix中锁是一种很重要的资源,所以事务最好尽快结束;而在oracle中锁的开销很小,甚至是“没有”
开销,所以oracle中系统认为事务应该可以很长。

如果忘记结束事务,不同的环境下会产生不同的缺省行为:如果正常地退出SQL*Plus会话,而没有提交或回滚事务,SQL*Plus就会认为你希望提交前面做的工作,并为你完成提交。另一方面,如果你只是退出一个Pro*C程序,就会发生一个隐式的回滚。


分享到:
评论
1 楼 yangwen13 2010-09-04  
谢谢,以前还不知道结束事务与否的影响呢。

相关推荐

    oracle 事务 回滚 存储过程

    在Oracle数据库中,事务的开始通常通过`BEGIN TRANSACTION`语句(或默认的隐式事务开始)启动,而结束则通过`COMMIT`或`ROLLBACK`语句完成。 ### Oracle存储过程 存储过程是在数据库中预编译的一组SQL语句,用于...

    Oracle事务与锁定

    在Oracle中,事务始于第一条执行的SQL语句,并在以下情况结束: 1. 用户显式提交(COMMIT)或回滚(ROLLBACK)事务。 2. 执行DDL(Data Definition Language)或DCL(Data Control Language)语句,如CREATE、ALTER...

    Oracle与SQL Server事务处理的比较.pdf

    显式事务需要用户明确地用BEGIN TRANSACTION开启,然后使用COMMIT或ROLLBACK来结束事务。在SQL Server中,COMMIT表示将事务中的所有更改永久保存到数据库中,而ROLLBACK表示撤销事务中的所有更改。隐式事务则是指在...

    oracle事务控制机制研究.pdf

    在Oracle 12c中,事务是隐式自动开始的,但用户需要显式结束事务。通常,事务结束的情况包括: - 提交COMMIT语句。 - 撤销ROLLBACK语句。 - 执行数据定义语句(如CREATE、DROP或ALTER)后自动提交。 - 执行数据控制...

    SQL与Oracle对数据库事务处理的差异性.docx

    2. 显示事务(Explicit Transactions):用户需要显式地使用`BEGIN TRANSACTION`、`COMMIT`和`ROLLBACK`语句来控制事务的开始、结束和回滚。 3. 隐式事务(Implicit Transactions):通过设置`SET IMPLICIT_...

    oracle-事务oracle-transaction信息管理与信息系统.doc

    1. COMMIT:结束事务,并使得已做的所有修改成为永久性的(持久保存)。 2. SAVEPOINT:设置保存点,以便在回滚时可以回到该点。 3. ROLLBACK:回滚事务,取消所有修改。 在 Oracle 中,事务是原子性的,说明无非两...

    Oracle数据库的事务管理与故障恢复技术分析报告.doc

    用户可以通过commit和rollback来显式地结束和撤销事务。commit用于提交事务,使所有更改永久生效;rollback用于回滚事务,撤销所有更改。此外,savepoint可以在事务内部设置标记点,允许在回滚时返回到特定点,增强...

    oracle-事务oracle-transaction信息管理与信息系统学士学位论文.doc

    * COMMIT:结束事务,并使得已做的所有修改成为永久性的。 * ROLLBACK:回滚事务,撤销所有修改。 * SAVEPOINT:设置保存点,用于回滚到特定点。 四、事务的原子性 Oracle 中的事务是原子性的,这说明无非两种情况...

    Oracle数据库管理与应用实例教程事务图文PPT学习教案.pptx

    在Oracle中,可以使用BEGIN、COMMIT和ROLLBACK语句来显式控制事务。BEGIN启动一个新事务,COMMIT表示事务结束并提交更改,而ROLLBACK则撤销事务中的所有更改。此外,还可以使用SAVEPOINT来设置事务中的临时检查点,...

    ORACLE事务处理机制探析.pdf

    在Oracle中,事务的开始通常默认为一个SQL语句的执行,也可以通过BEGIN语句显式声明开始一个事务。 事务处理主要包括以下几个关键操作: 1. 提交(Commit):当事务中的所有操作完成并被验证无误后,可以使用...

    浅析Oracle和Microsoft SQL Server事务处理的异同.pdf

    - 在Oracle中,用户可以显式地使用COMMIT命令来提交事务,或者在发生错误时,Oracle数据库会自动回滚事务。如果执行了DDL(Data Definition Language)语句,那么在DDL语句执行前后都会自动提交事务。 - SQL ...

    oracle 事务1

    - 开始事务:在Oracle中,可以通过BEGIN语句显式开始一个事务,但通常情况下,当你执行第一个DML(INSERT, UPDATE, DELETE)语句时,Oracle会自动开始一个新的事务。 - 提交事务:使用COMMIT语句提交事务,这会...

    oracle_专家高级编程 中文 第八章

    - **提交(COMMIT)**:结束事务,并使所有更改永久化。可以使用`COMMIT`或`COMMIT WORK`命令,这两个命令是等效的。 - **回滚(ROLLBACK)**:撤销未提交的更改,结束事务。可以使用`ROLLBACK`或`ROLLBACK WORK`命令,...

    Informix迁移至Oracle数据库的研究.pdf

    - Oracle数据库中,每个DML操作默认在一个隐式事务中,不需要像Informix那样显式声明“BEGIN WORK”。因此,迁移时需去除不必要的事务开始和结束语句。 3. **SQL语法差异**: - 游标的声明、使用和释放是Oracle和...

    ORACLE深入浅出-中级篇.pptx

    显式事务是通过编程语言(如Java JDBC)中的BEGIN、COMMIT、ROLLBACK等关键字控制的,而隐式事务则是Oracle默认的行为,即每个SQL语句都会被视为一个事务。在Java JDBC中使用事务,需要配置正确的驱动,并通过...

    Oracle的事务及锁[归类].pdf

    例如,一条DDL语句可以开始一个事务,而事务的提交可以是显式的`COMMIT`,隐式的(如执行某些DDL语句),或者通过设置`AUTOCOMMIT`为ON实现自动提交。`ROLLBACK`语句用于回滚事务,可以设置保存点以在特定点恢复事务...

    java调用Oracle的锁表命令

    在Java编程中,与Oracle数据库进行交互是常见的需求,特别是在处理并发事务时,可能需要对表进行锁定以确保数据的一致性。本篇将详细讲解如何在Java中调用Oracle的锁表命令。 首先,Oracle数据库提供了多种锁类型,...

    Expert Oracle Database Architecture

    本章可能更专注于事务的启动、提交、回滚以及事务管理的其他方面,包括用户如何显式地开始和结束事务,以及在何时何地提交或回滚事务以确保数据的正确性。此外,还可能涉及事务隔离级别的设置,比如Serializable级别...

Global site tag (gtag.js) - Google Analytics