oracle我的笔记(7)-oracle事务管理

来源:互联网 发布:java编写客户端程序 编辑:程序博客网 时间:2024/05/21 22:42

使用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 from emp where deptno=10;

2
。使用update语句更新数据既可以使用表达式或者数值直接修改数据,也可以使用子查询修改数据
示例:希望员工scott的岗位、工资、补助与smith员工一样
SQL> update emp set (job,sal,comm)=(select job,sal,comm from emp where ename='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

原创粉丝点击