火龍果軟件Oracle公司內(nèi)部數(shù)據(jù)庫(kù)培訓(xùn)資料_第1頁(yè)
火龍果軟件Oracle公司內(nèi)部數(shù)據(jù)庫(kù)培訓(xùn)資料_第2頁(yè)
火龍果軟件Oracle公司內(nèi)部數(shù)據(jù)庫(kù)培訓(xùn)資料_第3頁(yè)
火龍果軟件Oracle公司內(nèi)部數(shù)據(jù)庫(kù)培訓(xùn)資料_第4頁(yè)
火龍果軟件Oracle公司內(nèi)部數(shù)據(jù)庫(kù)培訓(xùn)資料_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、20Oracle9i 對(duì)對(duì) DML 和和 DDL 語(yǔ)句的擴(kuò)展語(yǔ)句的擴(kuò)展 20-2目標(biāo)目標(biāo)通過(guò)本章學(xué)習(xí),您將可以通過(guò)本章學(xué)習(xí),您將可以:描述多表插入的特點(diǎn)描述多表插入的特點(diǎn)使用不同類型的多表插入使用不同類型的多表插入無(wú)條件的無(wú)條件的INSERT旋轉(zhuǎn)旋轉(zhuǎn) INSERT有條件的有條件的 ALL INSERT有條件的有條件的 FIRST INSERT創(chuàng)建和使用外部表創(chuàng)建和使用外部表創(chuàng)建主鍵約束的同時(shí)創(chuàng)建索引創(chuàng)建主鍵約束的同時(shí)創(chuàng)建索引20-3INSERT 語(yǔ)句語(yǔ)句使用使用 INSERT 語(yǔ)句向表中插入新的數(shù)據(jù)語(yǔ)句向表中插入新的數(shù)據(jù)使用上面的語(yǔ)句每次只能向表中插入一行數(shù)據(jù)使用上面的語(yǔ)句每次只能向表中插入一

2、行數(shù)據(jù)INSERT INTOtable (column , column.)VALUES(value , value.);INSERT INTO departments(department_id, department_name, manager_id, location_id)VALUES (70, Public Relations, 100, 1700);1 row created.20-4UPDATE 語(yǔ)句語(yǔ)句使用使用UPDATE 語(yǔ)句更新表中的數(shù)據(jù)語(yǔ)句更新表中的數(shù)據(jù)使用上面的語(yǔ)句每次可更新表中的一行或多行數(shù)據(jù)使用上面的語(yǔ)句每次可更新表中的一行或多行數(shù)據(jù) 使用使用 WHERE 子句指定

3、更新的條件子句指定更新的條件UPDATEtableSETcolumn = value , column = value, .WHERE condition;UPDATE employeesSET department_id = 70WHERE employee_id = 142;20-5多表多表 INSERT 語(yǔ)句語(yǔ)句INSERT.SELECT 是使用一個(gè)是使用一個(gè)DML 語(yǔ)句向多個(gè)表中語(yǔ)句向多個(gè)表中插入數(shù)據(jù)的一部分插入數(shù)據(jù)的一部分多表多表INSERT 語(yǔ)句可作為數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用中向目標(biāo)數(shù)據(jù)庫(kù)語(yǔ)句可作為數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用中向目標(biāo)數(shù)據(jù)庫(kù)傳送數(shù)據(jù)的一種方法傳送數(shù)據(jù)的一種方法它具有更高的效率它具有更高的效率:

4、避免使用多各避免使用多各DML 語(yǔ)句語(yǔ)句 使用一個(gè)使用一個(gè)DML 完成完成 IF.THEN 的邏輯處理的邏輯處理20-6多表多表 INSERT 語(yǔ)句的類型語(yǔ)句的類型Oracle9i 提供以下四種多表提供以下四種多表INSERT 語(yǔ)句類型語(yǔ)句類型: 無(wú)條件的無(wú)條件的 INSERT有條件的有條件的 ALL INSERT有條件的有條件的 FIRST INSERT旋轉(zhuǎn)旋轉(zhuǎn) INSERT20-7多表多表 INSERT 語(yǔ)句語(yǔ)句INSERT ALL conditional_insert_clauseinsert_into_clause values_clause (subquery)ALL FIRSTWH

5、EN condition THEN insert_into_clause values_clauseELSE insert_into_clause values_clause conditional_insert_clause語(yǔ)法語(yǔ)法20-8無(wú)條件的無(wú)條件的 INSERT ALL 應(yīng)用舉例應(yīng)用舉例INSERT ALL INTO sal_history VALUES(EMPID,HIREDATE,SAL) INTO mgr_history VALUES(EMPID,MGR,SAL) SELECT employee_id EMPID, hire_date HIREDATE, salary SAL,

6、 manager_id MGR FROM employees WHERE employee_id 200; 20-9有條件的有條件的 INSERT ALL 應(yīng)用舉例應(yīng)用舉例INSERT ALL WHEN SAL 10000 THEN INTO sal_history VALUES(EMPID,HIREDATE,SAL) WHEN MGR 200 THEN INTO mgr_history VALUES(EMPID,MGR,SAL) SELECT employee_id EMPID,hire_date HIREDATE, salary SAL, manager_id MGR FROM emplo

7、yees WHERE employee_id 200; 20-10有條件的有條件的 FIRST INSERT 應(yīng)用舉例應(yīng)用舉例 INSERT FIRST WHEN SAL 25000 THEN INTO special_sal VALUES(DEPTID, SAL) WHEN HIREDATE like (%00%) THEN INTO hiredate_history_00 VALUES(DEPTID,HIREDATE) WHEN HIREDATE like (%99%) THEN INTO hiredate_history_99 VALUES(DEPTID, HIREDATE) ELSE

8、INTO hiredate_history VALUES(DEPTID, HIREDATE) SELECT department_id DEPTID, SUM(salary) SAL, MAX(hire_date) HIREDATE FROM employees GROUP BY department_id;20-11旋轉(zhuǎn)旋轉(zhuǎn) INSERT 應(yīng)用舉例應(yīng)用舉例 INSERT ALL INTO sales_info VALUES (employee_id,week_id,sales_MON) INTO sales_info VALUES (employee_id,week_id,sales_TUE

9、) INTO sales_info 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_FRI FROM sales_source_data; 20-12外部表外部表外部表是只讀的表,其數(shù)據(jù)存

10、儲(chǔ)在數(shù)據(jù)庫(kù)外的平面文件中外部表是只讀的表,其數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)外的平面文件中外部表的各種參數(shù)在外部表的各種參數(shù)在 CREATE TABLE 語(yǔ)句中指定語(yǔ)句中指定使用外部表使用外部表, 數(shù)據(jù)可以存儲(chǔ)到外部文件或從外部文件中上載數(shù)據(jù)可以存儲(chǔ)到外部文件或從外部文件中上載數(shù)據(jù)到數(shù)據(jù)庫(kù)數(shù)據(jù)到數(shù)據(jù)庫(kù)數(shù)據(jù)可以使用數(shù)據(jù)可以使用 SQL訪問(wèn)訪問(wèn), 但不能使用但不能使用 DML 后在外部表上創(chuàng)后在外部表上創(chuàng)建索引建索引20-13創(chuàng)建路徑創(chuàng)建路徑 創(chuàng)建外部表之前應(yīng)先使用創(chuàng)建外部表之前應(yīng)先使用CREATE DIRECTORYCREATE DIRECTORY語(yǔ)句創(chuàng)建路徑語(yǔ)句創(chuàng)建路徑CREATE DIRECTORY emp

11、_dir AS /flat_files ;20-14創(chuàng)建外部表舉例創(chuàng)建外部表舉例 CREATE TABLE oldemp ( empno NUMBER, empname CHAR(20), birthdate DATE) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY emp_dir ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE BADFILE bad_emp LOGFILE log_emp FIELDS TERMINATED BY , (empno CHAR, empna

12、me CHAR, birthdate CHAR date_format date mask dd-mon-yyyy) LOCATION (emp1.txt) PARALLEL 5 REJECT LIMIT 200;20-15查詢外部表查詢外部表 SELECT * FROM oldempemp1.txt20-16創(chuàng)建主鍵約束同時(shí)創(chuàng)建索引舉例創(chuàng)建主鍵約束同時(shí)創(chuàng)建索引舉例 CREATE TABLE NEW_EMP(employee_id NUMBER(6) PRIMARY KEY USING INDEX (CREATE INDEX emp_id_idx ON NEW_EMP(employee_id),first_name VARCHAR2(20),last_name VARCHAR2(25);SELECT INDEX_NAME, TABLE_NAME FROM USER_INDEXESWHER

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論