您的位置:首页 > 数据库 > Oracle

oracle事务管理(9)

2015-07-30 11:08 531 查看
使用to_date函数

示例:如何插入列带有日期的表,并按照年-月-日的格式插入?

insert into emp values(9996,'笑笑''manager',7728,to_dat('1988-12-12','yyyy-mm-dd'));

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

SQL> insert into ssssd(myid,myname,mydept) select empno,ename,deptno fromemp where deptno=10;

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

示例:希望员工scott的岗位、工资、补助与smith员工一样

SQL> update emp set (job,sal,comm)=(select job,sal,comm from emp whereename='SMITH') where ename='SCOTT';

什么是事务

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

如:网上转账就是典型的要用事务来处理,用于保证数据的一致性。dml语句(数据操作语言:增、删、该)

事务和锁

当执行事务操作时(dml语句),oracle会在呗作用的表上加锁,防止其他用户该表的结构,这里对我们用户来讲是非常重要的。

提交事务

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

回退事务

在介绍回退事务前,我们先介绍一下保存点(savepoint)的概念和作用。保存点是事务中的一点。用于取消部分事务,但结束事务时,会自动的删除该事务所定义的所有保存电。当执行rollback时,通过指定保存点可以回退到指定点。

只读事务

只读事务是指允许执行查询的操作,而不允许执行任何其他dml操作的事务,使用制度事务可以确保用户只能取得某时间点的数据。假定机票代售点情况,这时可以使用只读事务,在设置了只读事务后,尽管其他会话可能会提交新的事务,但是只读事务将不会取得最新数据的变化,从而可以保证取得特定时间点的数据信息。

设置只读事务

set transaction read only

1)设置保存点

savcpoint a

2)取消部分事务(回滚到保存点a)

rollback to a

3)取消全部事务

rollbackg
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: