Oracle子查询及事务处理

简介:  Oracle操作数据,使用子查询插入数据:当时用values子句时,一次能插入一行数据,当时用子查询插入数据时,一条insert语句可以插入大量的数据,当处理迁移或者装在外部表的数据到数据库时,可以使用子查询来插入数据。

 Oracle操作数据,使用子查询插入数据:

当时用values子句时,一次能插入一行数据,当时用子查询插入数据时,一条insert语句可以插入大量的数据,当处理迁移或者装在外部表的数据到数据库时,可以使用子查询来插入数据。

create table   wangibng  (myid  number(4),myname varchar2(50),mydeptno  number(5));

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


使用子查询更新数据;

使用update更新数据时,既可以使用表达式或者数值直接修改数据,也可以使用子查询修改数据。

问题:  希望员工scott的岗位、工资、补助与smith一样?

update   emp  set  (job,sal,comm) = (select  job,sal,comm from  emp   where  ename = 'SMITH')  where  eanme ='scott';



事务:

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

事务和锁:

当执行事务操作时(dml语句),oracle会被作用的表上加锁,防止其他用户该表表的结构。【类似于java 的synchronized】



提交事务

当执行commit语句可以提交事务。当执行了commit语句之后,会确认事务的变化,结束事务,删除保存点,释放锁,当使用commit语句结束事务之后,其他会话将可以查到事务变化后的新数据。


回退事务:

一、savepoint   的概念和作用

保存点是一个事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事物所定义的所有保存点,当执行roolback时,通过指定保存点可以回退到指定的点。

savepoint  a2 ;

取消部分事务:rollback   to a2;

取消全部事务:  rollback


只读事务:

是只允许执行查询的操作,而不允许任何dml操作的事务,使用只读事务可以确保用户只能取得用户某时间点的数据。

设置只读事务:set   transaction   read  only;

【在system用户中设置只读事务,用scott 登录在emp表中插入数据,用system用户查看scott的emp表则插入的数据不会显示】

相关文章
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
197 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
Oracle-高级子查询
Oracle-高级子查询
90 0
|
SQL 机器学习/深度学习 移动开发
Oracle多表查询,子查询,分页查询
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
470 0
Oracle多表查询,子查询,分页查询
|
SQL Oracle 关系型数据库
Oracle中的分组查询、子查询、多表连接
Oracle中的分组查询、子查询、多表连接
347 0
Oracle中的分组查询、子查询、多表连接
|
Oracle 关系型数据库
oracle学习60-oracle之高级子查询2
oracle学习60-oracle之高级子查询2
199 0
oracle学习60-oracle之高级子查询2
|
Oracle 关系型数据库
oracle学习61-oracle之高级子查询1
oracle学习61-oracle之高级子查询1
115 0
oracle学习61-oracle之高级子查询1
|
Oracle 关系型数据库
oracle学习59-oracle之高级子查询之课后练习
oracle学习59-oracle之高级子查询之课后练习
93 0
oracle学习59-oracle之高级子查询之课后练习
|
SQL Oracle 关系型数据库
|
SQL Oracle 网络协议
7-java连接oracle-Oracle中的事务处理
了解7-java连接oracle-Oracle中的事务处理。
274 0
|
SQL 移动开发 Oracle
6-5 Oracle表复杂查询 -子查询
子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询。
272 0

推荐镜像

更多