




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、OCP007Chapter20 增強(qiáng)的DML語句 目的完成本課后,可以做下列事情:描述多表插入的特性使用下列類型的多表插入:無條件插入,回環(huán)插入
2、,條件的ALL INSERT,條件的First insert創(chuàng)建和使用外部表在創(chuàng)建主鍵約束時命名所產(chǎn)生的索引INSERT語句:以這種方式一次只能插入一行UPDATE語句:可以一次更新多行符合條件的行多表插入INSERT.SELECT語句可以在一條DML語句中向多個表插入多行,可以用于數(shù)據(jù)倉庫系統(tǒng),以從多個數(shù)據(jù)源提取數(shù)據(jù)到目的表中。并且可以顯著的提高性能。ETL,代表數(shù)據(jù)倉庫中常用的抽?。╡xtraction),傳輸(transformation),加載(loading)。使用新的多表插入,可以并行的直接加載,取得較高的性能。多表插入的類型:無條件插入;有條件的ALL INSERT;有條件的FI
3、RST INSERT;循環(huán)插入多表插入的語法:INSERT ALL conditional_insert_clauseinsert_into_clause values_clause (subquery)其中的條件插入子句:ALL FIRSTWHEN condition THEN insert_into_clause values_clauseELSE insert_into_clause values_clause無條件插入:ALL into_clause在ALL的后面指定多表插入插入子句,執(zhí)行無條件的多表插入。Oracle服務(wù)器對子查詢返回的每一行都執(zhí)行一次insert_into_clau
4、se子句。條件插入:conditional_insert_clause指定conditional_insert_clause子句可以執(zhí)行條件多表插入。每一個when條件用來判斷是否執(zhí)行插入子句。一個單獨的多表插入語句最多可以有127個when子句。條件插入:ALL如果指定了ALL,Oracle服務(wù)器計算每一個when子句,不考慮計算的結(jié)果。對每一個計算為真的when子句,Oralce服務(wù)器執(zhí)行對應(yīng)的INTO子句。有條件的首次插入(FIRST:INSERT)如果指定FIRST,Oracle服務(wù)器按順序計算每一個when子句。Oracle會執(zhí)行第一個計算為真的when子句對應(yīng)的INTO子句,忽略后
5、面的when子句。條件插入:ELSE子句對于給定的行,如果沒有when子句為真:如果指定了ELSE子句,Oracle服務(wù)器執(zhí)行對應(yīng)的INTO子句如果沒有指定ELSE子句,Oracle不采取任何動作多表插入語句的限制:多表插入只能作用于表不能對遠(yuǎn)程表進(jìn)行多表插入執(zhí)行多表插入時,不能指定表的集合表達(dá)式insert_into_clauses子句不能指定超過999個目標(biāo)行無條件插入:ALLINSERT ALLINTO sal_history VALUES(EMPID,HIREDATE,SAL)INTO mgr_history VALUES(EMPID,MGR,SAL)SELECT employee_i
6、d EMPID,hire_date HIREDATE,salary SAL, manager_id MGRFROM employeesWHERE employee_id > 200;條件插入:ALLINSERT ALLWHEN SAL > 10000 THENINTO sal_history VALUES(EMPID,HIREDATE,SAL)WHEN MGR > 200 THENINTO mgr_history VALUES(EMPID,MGR,SAL)SELECT employee_id EMPID,hire_date HIREDATE,salary SAL, manag
7、er_id MGRFROM employeesWHERE employee_id > 200;條件插入:FIRSTINSERT FIRSTWHEN SAL > 25000 THENINTO special_sal VALUES(DEPTID, SAL)WHEN HIREDATE like ('%00%') THENINTO hiredate_history_00 VALUES(DEPTID,HIREDATE)WHEN HIREDATE like ('%99%') THENINTO hiredate_history_99 VALUES(DEPTID,
8、HIREDATE)ELSEINTO hiredate_history VALUES(DEPTID, HIREDATE)SELECT department_id DEPTID, SUM(salary) SAL,MAX(hire_date) HIREDATEFROM employeesGROUP BY department_id;旋轉(zhuǎn)插入:INSERT ALLINTO sales_info VALUES (employee_id,week_id,sales_MON)INTO sales_info VALUES (employee_id,week_id,sales_TUE)INTO sales_in
9、fo VALUES (employee_id,week_id,sales_WED)INTO sales_info VALUES (employee_id,week_id,sales_THUR)INTO sales_info VALUES (employee_id,week_id, sales_FRI)SELECT EMPLOYEE_ID, week_id, sales_MON, sales_TUE,sales_WED, sales_THUR,sales_FRIFROM sales_source_data;外部表:外部表是一些只讀表,數(shù)據(jù)存放在數(shù)據(jù)庫之外,metadata存放在數(shù)據(jù)庫內(nèi)。使用外部
10、表特性,可以把外部數(shù)據(jù)作為一個虛擬表使用??梢灾苯訉ν獠勘磉M(jìn)行查詢和連接的操作,不需要加載到數(shù)據(jù)庫。外部表和常規(guī)表的最大區(qū)別在于外部表是只讀的,而且也不可以創(chuàng)建索引。使用CREATE TABLE . ORGANIZATION EXTERNAL來創(chuàng)建外部表的metadata,這些外部表可以被認(rèn)為是一個視圖。Oracle服務(wù)器提供了兩種主要的訪問驅(qū)動以使用外部表。一種是ORACLE_LOADER,采用Oracle Loader技術(shù)來讀取外部表里面的數(shù)據(jù)。另一種是import/export訪問驅(qū)動,也稱為ORACLE_INTERNAL,可以導(dǎo)入導(dǎo)出與平臺無關(guān)的格式。外部表子句包含訪問驅(qū)動的類型(缺省
11、是ORACLE_LOADER)、external_data_properties, and the REJECT LIMIT.external_data_properties包含: DEFAULT DIRECTORY ACCESS PARAMETERS LOCATIONREJECT LIMIT指定發(fā)生多少個轉(zhuǎn)換錯誤時,Oracle返回錯誤放棄查詢數(shù)據(jù)。DEFAULT DIRECTORY指定外部表的位置,可以指定多個位置,增加并行性和負(fù)載均衡。后面兩個參數(shù)都是訪問驅(qū)動程序使用的,Oracle服務(wù)器并不解釋它們。創(chuàng)建外部表:首先創(chuàng)建目錄對象,以對應(yīng)外部表在系統(tǒng)上面的存放位置CREATE OR RE
12、PLACE DIRECTORY AS 'path_name'然后再創(chuàng)建外部表,如:CREATE TABLE oldemp (empno NUMBER, empname CHAR(20), birthdate DATE)ORGANIZATION EXTERNAL(TYPE ORACLE_LOADERDEFAULT DIRECTORY emp_dirACCESS PARAMETERS(RECORDS DELIMITED BY NEWLINEBADFILE 'bad_emp'LOGFILE 'log_emp'FIELDS TERMINATED BY ','(empno CHAR,empname CHAR,birthdate CHAR date_format date mask "dd-mon-yyyy")LOCATION ('emp1.txt')PARALLEL 5 ->外部表可能很大,建議使用這個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)運營效率與策略研究
- 三農(nóng)村危房改造工作指南
- 綜合農(nóng)業(yè)可研報告
- 三農(nóng)產(chǎn)品品牌打造作業(yè)指導(dǎo)書
- 軟件行業(yè)項目可行性分析報告
- 裝配式建筑設(shè)計規(guī)范
- 農(nóng)業(yè)產(chǎn)業(yè)鏈延伸發(fā)展策略手冊
- 光伏發(fā)電太陽能工程
- 環(huán)保產(chǎn)業(yè)園區(qū)可行性研究報告
- 項目籌備及執(zhí)行計劃書
- 密閉取芯完整
- 《會計分錄》課件
- 溫室氣體盤查培訓(xùn)-(課件)
- 機(jī)電總承包合同
- 《彩色的夢》說課課件
- 港股通知識測試題答案
- 項目投資法律意見書
- 18 《文言文二則 鐵杵成針》 課件(共19張PPT)
- 人力資源服務(wù)機(jī)構(gòu)年檢申請報告
- 第六章港澳臺學(xué)前教育的發(fā)展課件
- 資產(chǎn)傳承法商產(chǎn)說會陽光升課件
評論
0/150
提交評論