Oracle子查询及事务处理
2017-03-07 09:46
155 查看
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表则插入的数据不会显示】
当时用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查询艺术(T-SQL)[节选]SQL调优之大事务分段处理
- 采购接收事务处理接口表错误信息查询
- 第五天,存储过程,查询区分大小,事务处理(回滚,提交)
- SQL语言多表查询、分组统计、子查询、数据表的更新操作、事务处理
- SQLite数据库创建、升级数据库、事务处理、添加、更新、删除、查询管理操作类完整代码
- 2011.9.28 mysqli学习笔记 mysqli连接,multi_query多语句查询,SQL预处理stmt,事务处理
- 重温SQL Server(事务处理与高级查询)
- SQL Server的事务处理与高级查询
- Mybatis实例 简单查询 事务处理 关联、集合查询 鉴别器 动态SQL及各种标签实例
- mybatis接口式的模糊查询、分页、增删改、事务处理
- Android SQLite 创建多表及多表查询 事务处理
- sql(四):子查询、DML语句、事务处理
- Oracle 11g 学习五:子查询,数据更新操作,事务处理和数据伪列
- day25—OracleSQl 中多表查询、DML 和事务处理
- SQL查询艺术学习笔记--SQL事务处理 隔离 锁 与 并发操作
- Oracle 通过触发器 来创建 同步临时表 及处理 通过 自治事务 来解决 查询 基表的问题
- PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询一:开启事务
- java—在dbutils中处理事务与不确定条件的查询(46)
- 重温SQL Server(事务处理与高级查询)
- mysqli学习笔记 mysqli连接,multi_query多语句查询,SQL预处理stmt,事务处理