`

Oracle事务处理

阅读更多
事务用于保证数据的一致性,由一组相关dml语句(数据操作语言:增删改)组成,改组dml语句要么全部成功要么全部失败。执行事务操作时会对操作的表进行加锁,防止其他用户修改表的结构。

提交事务--commit;
       确认事务的变化,结束事务,删除保存点,释放锁
保存点---savepoint a1;设置保存点,(保存点的个数没有限制)
                rollback to a1;取消部分事务
                rollback;取消全部事务
       未commit的事务才可被回滚到保存点。
       设置好保留点a1后提交事务再进行回滚提示:从未创建保留点a1

java中加入事务处理:
Connection ct = null;
try{
   Class.forName("Oracle.jdbc,driver,OracleDriver");//加载驱动
   ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger")//得到连接
   ct.setAutoCommit(false);//加入事务处理
   Statement sm = ct.createStatement();
   //scott转给smith100元
   sm.executeUpdate("update emp set sal=sal-100 where ename='SCOTT'");
   sm.executeUpdate("update emp set sal=sal+100 where ename='SMITH'");
   ct.commit();//提交事务
   sm.close();
   ct.close();
}catch (Excception ee){
   try(
       ct.rollback();//如果发生异常回滚
   }catch (Excception ex){
       ex.printStackTrace();
   }
   ee.printStackTrace();
}

只读事务:其他会话提交新事务,只读事务不会取得最新数据的变化,保证取得特定时间点的数据信息。如:订票系统,利息统计,网上转账...
set transaction read only


利用子查询插入多条数据:insert select

SQL> create table myMember (myId number(4),myName varchar2(50),myDept number(5));
SQL> insert into myMember (myID,myName,myDept) select empno,ename,deptno from emp where deptno=10;

利用子查询更新数据:
//将scott的岗位工资和补助更新和SMITH相同
SQL> update emp set(job,sal,comm) = (select job,sal,comm from emp where ename='SMITH')where ename='SCOTT';
分享到:
评论

相关推荐

    oracle事务处理

    Oracle 事务处理 Oracle 事务处理是指在 Oracle 数据库中对数据进行操作时,确保数据的一致性和完整性的一种机制。事务处理是 Oracle 数据库的核心功能之一,通过事务处理,数据库可以确保数据的一致性和完整性,...

    ORACLE事务处理机制探析.pdf

    本文将深入探讨Oracle事务处理的运行机制、实现方法,并通过实例解析事务处理的整个流程。 首先,事务是数据库操作的基本单位,它封装了一组逻辑相关的SQL语句,这些语句要么全部执行,要么全部回滚,以此保证数据...

    java Oracle事务处理

    java 代码写的关于Oracle的 事务处理

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

    Undo Data是Oracle事务处理的关键。它保存了数据修改前的状态,使得在事务回滚时能够恢复到之前的状态,保证了原子性。在发生故障时,Oracle可以利用Undo Data来恢复数据库到一致性状态,提供读一致性查询,允许用户...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    在实际应用中,可能会涉及到事务管理,确保所有SQL语句要么全部成功执行,要么全部回滚。这可以通过开启一个OracleTransaction并将其与命令对象关联来实现: ```csharp OracleTransaction transaction = connection...

    oracle 事务 回滚 存储过程

    本文将深入探讨“Oracle事务回滚存储过程”这一主题,旨在理解其核心概念、工作原理以及实际应用。 ### Oracle事务 在数据库操作中,事务是一系列操作的集合,这些操作要么全部成功,要么全部失败。事务具有ACID...

    oracle 在java中的事务处理和异常回滚。

    在Java编程中,Oracle数据库是常用的后端存储系统,而事务处理和异常回滚是确保数据一致性、完整性和可靠性的关键机制。以下是对这个主题的详细讲解。 首先,Oracle JDBC驱动程序是Java与Oracle数据库之间通信的...

    Oracle事务与锁定

    Oracle事务与锁定是数据库管理系统中的核心概念,它们对于确保数据的完整性和一致性至关重要。事务是数据库操作的基本单元,它封装了一系列的数据库操作,确保这些操作要么全部成功,要么全部失败,从而保持数据库的...

    MySQL或Oracle通过ODBC与C#建立连接和进行事务处理

    ### MySQL或Oracle通过ODBC与C#建立连接和进行事务处理 #### 一、概述 在现代企业级应用开发中,数据库的选择对于整个系统的稳定性和性能有着至关重要的影响。随着多语言开发的需求日益增长,如何让不同的编程语言...

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

    在会计系统中,Oracle事务处理至关重要。例如,当记录一次转账操作时,需要同时更新两个账户的余额,这两个操作必须在一个事务中完成,以确保数据的准确性。如果其中一个操作失败,整个事务会被回滚,防止出现不一致...

    Oracle高级详细资料

    再者,回滚段(ROLLBACK SEGMENTS)管理是Oracle事务处理的关键部分。回滚段存储了事务的回滚信息,用于在事务回滚时恢复到事务开始时的状态。正确地管理和分配回滚段能防止事务间的资源争抢,避免“ORA-01555:...

    简易之PHP通过OCI访问Oracle数据库可做事务处理

    以上知识点涵盖了从Oracle数据库的配置到PHP通过OCI扩展访问Oracle数据库,并进行基本的数据库操作以及事务处理的全过程。要实现这些功能,还需要对oci8扩展的API有一定的了解,包括oci_connect、oci_parse、oci_...

    深入剖析Oracle与MySQL在事务处理上的差异

    Oracle和MySQL作为两大主流的数据库系统,在事务处理方面有着各自的特点和差异。本文将从事务的基本概念、隔离级别、锁机制以及事务控制语句等方面,详细探讨Oracle与MySQL在事务处理上的差异,并提供代码示例。 ...

    oracle安装-卸载-初识oracle-笔记

    3. Oracle事务处理 事务是数据库操作的基本单位,保证了数据的一致性和完整性。你可以通过COMMIT提交事务,ROLLBACK回滚事务,或者使用SAVEPOINT设置事务恢复点。 4. SQL函数的使用 Oracle提供了大量的内置函数,如...

    Oracle 9i10g 数据库管理详细

    - **ORACLE事务处理流程**:事务处理确保数据的一致性和完整性。Oracle支持多种事务隔离级别,可以根据具体需求进行配置。 - **ORACLE系统的 SYS 和 SYSTEM 模式**:这两个模式具有特殊的权限,通常用于系统级别的...

Global site tag (gtag.js) - Google Analytics