Oracle学习笔记 5

来源:互联网 发布:淘宝开店装修流程 编辑:程序博客网 时间:2024/06/05 08:14
  11 oracle中如何操作数据和函数的应用
向emp表中添加一个成员‘小红’;
SQL>insert into emp values(9998,'小红',‘MANAGER’,7782,‘11-11月-1988’,78.9,55.33,10);
如果想改这个日期11-11月-1988的形式符合我们的习惯,就要使用to_date函数。
SQL>insert into emp values (9998,'小红',‘MANAGER’,7782,to_date(‘1988-12-12’,‘YYYY-mm-dd’),78.9,55.33,10);
  当使用values子句时,一次只能插入一行数据,当使用子查询插入数据时,一条insert语句可以插入大量的数据,当处理行迁移或者装载外表的数据到数据库时,可以使用子查询来插入数组。
SQL>create table kkk(myid number(4),myname varchar2(50),mydept number(5));
SQL >insert into kkk(myid,myname,mydept)select empno,ename,deptno from emp where deptno =10;(实现把emp表复制到kkk表)。
子查询可以更新数据库:
  使用update语句更新数据时,即可以使用表达式或者数值直接修改数据,也可以用子查询。
 eg:希望员工scott的岗位,工资,补助与smith的一样。
SQL>update emp set (job ,sal,comm)=(select job,sal,comm from emp where ename=‘SMITH’) where ename='SCOTT';


                   12  oracle中的事务处理
    事务是用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部成功。
    网上转账就是典型的要用事物来处理,可以保证数据的一致性。
    当执行事务操作时,oracle会在被作用的表上加锁,防止其他用户改变表的结构,这是对我们用户来讲是非常重要的。
提交事务:
SQL>commit;
创建一个保存点:
SQL>savapoint  a1;
删除一个用户:
SQL>delete from emp where empno = 9996;
设置保存点后,如果保存点后的数据出现了错误,则可以使数据重新回到保存点。
则可以回到设置的保存点。
SQL>rollback to a1;
 回退事务必须是在没有提交事务时才可以执行,否则白费。
事务处理中的几个重要操作:
1.设置保存点  savepoint a
2 取消部分事务 rollback to a
3 取消全部事务 rollback
 只读事务:只允许执行查询操作而不允许执行任何其他dml操作的事务,使用只读事务可以保证用户只能取的那个时间点的数据。
如何设置一个只读事务:
SQL>set transaction read only;
用to_date函数向emp表中插入一个用户:
SQL>insert into emp values (8888,'ok','MANAGER',7782,to_date('1988_12_12','yyyy_mm_dd'),34.34,23.23,10);