【Oracle】事务

使用子查询插入数据

create table emp2(myid number(4),myname varchar2(50),mydept number(5));

insert into emp2(myid,myname,mydept) select empno,ename,deptno from emp where deptno=10;


使用子查询更新数据(Oracle特有)

希望员工Scott的岗位、工资、补助与Smith员工一致:
update emp set(job,sal,comm)=(select job,sal,comm from emp where ename='SMITH') where ename='SCOTT';



事务:
事务用于保证数据的一致性,它由一组相关的dml(数据操作语句,增删改)语句组成。该组的dml语句要么全部成功,要么全部失败。


锁:
当执行事物操作时,Oracle会在被作用的表上加锁,防止其他用户改变表的结构。

savepoint a1;创建保存点
语句
rollback to al;回滚,直接执行rollback返回最开始的保存点。

如执行commit后所有保存点失效。当exit后自动commit。


在Java中如何使用事务:

conn.setAutoCommit(false);//设置默认不提交
增删改操作。
conn.commit();
如发生异常则执行conn.rollback();




只读事务
只允许执行查询操作,不允许执行其他dml操作。
只取得特定时间点的信息。

set transaction read only;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值