|
1 首先 補充一下有關to_date 函數(shù)的應用。
可以改變年月日的插于格式。 to_date('1998-05-24','YYYY-MM-DD'),to_date('1998/05/24','YYYY/MM/DD')等等...
2 當使用values子句時,一次只能插入一條數(shù)據(jù),當使用子查詢插入數(shù)據(jù)時,一條insert語句可以插入大量的數(shù)據(jù),當處理行遷移或者裝載外部表的數(shù)據(jù)到數(shù)據(jù)庫的時候,可以使用子查詢來插入數(shù)據(jù)。
創(chuàng)建一張空表:
create table kkk(myId number(4),myname varchar2(50),myDept number(5));
insert into kkk (myId,myname,myDept) select empno,ename,deptno from emp where deptno=10;
3 用子查詢更新數(shù)據(jù)
使用update語句更新數(shù)據(jù)時,既可以使用 表達式或者數(shù)值直接修改數(shù)據(jù),也可以使用子查詢修改數(shù)據(jù)。
問題:希望員工soctt的崗位,工資 與補助 與simth員工一樣。
update emp set (job,sal,comm) = (select job,sal,comm from emp where ename ='SIMTH') where ename='SCOTT';
事務:
1、 什么是事務
事務是用于保證數(shù)據(jù)的一致性,它由一組相關的DML語句組成,該組的DML語句要么全部成功,要么全部失敗。如:網(wǎng)上轉賬…… 2、 事務和鎖 當執(zhí)行事務操作(dml語句)時,oracle會在被作用的表上加鎖,防止其他用戶改變表的結構,這點對我們用戶來講是很重要的。 3、 保存點和回退事務 保存點是事務中的一點,用于取消部分事務,當結束事務時,會自動的刪除該事務定義的所有保存點,當執(zhí)行rollback時,通過指定保存點可以回退到指定的點。 4、 提交事務 使用commit語句可以提交事務,當執(zhí)行了commit語句后,會確認事務的變化、結束事務、刪除保存點、釋放鎖、當使用commit語句結束事務后,其它會話將可以查看到事務變化后的新數(shù)據(jù)。 5、 如何在Java中操作事務呢 其實很簡單,oracle是默認自動提交事務的,那么我們只要在執(zhí)行事務語句之前取消自動提交,執(zhí)行事務的語句過后再手動提交就可以了 假設我這有一個Connection對象的實例conn,調(diào)用這個函數(shù): conn.setAutoCommit(false);就可以取消自動提交了,然后我們執(zhí)行一系列的中間不能打斷的DML語句,完了再在最后加上這么一句:conn.commit();就可以了,如果一旦發(fā)生異常,在catch語句塊中加上conn.rollback();就OK了。 6、 只讀事務 只讀事務是指只允許執(zhí)行查詢的操作,而不允許執(zhí)行任何其它DML操作的事務,使用只讀事務可以確保用戶只能取得某時間點的數(shù)據(jù)。假定機票代售點每天18點統(tǒng)計今天的銷售情況,這時可以使用只讀事務,在設置了只讀事務后,盡管其它會話可能會提交新的事務,但是只讀事務將不會取得最新數(shù)據(jù)的變化,從而可以保證取得特定時間點的數(shù)據(jù)信息。 7、 設置只讀事務 Set transaction read only |
|
|