第1部分 第1周課程
第1章 第1天課程:學習PUSQL基礎知識
1. 1 PLSQL是什么
1. 2 為什么要學習 PIJSQL
1. 3 SQL. SQL”PluS. PUSQL之間的差別
1. 3. 1 SQL
1. 3. 2 PL/SQL
l. 3. 3 SQL*PlUS
1. 3. 4 閱讀本書需要的資源
1. 4 開始使用PLSQL
1. 4. 1 PL/SQL是塊結構化的
1. 4. 2 編譯和執(zhí)行簡單的塊
1. 4. 3 生成輸出結果
1. 4. 4 避免重新輸入
1. 4. 5 編寫第一個函數(shù)
1. 4. 6 查找編譯錯誤
1. 4. 7 顯示函數(shù)的返回值
1. 4. 8 這個簡單的函數(shù)有用嗎
1. 5 使用Developerl2000中的過程生成器執(zhí)行PL/SQL
1. 5. 1 啟動過程生成器
l. 5. 2 使用交互式PL/SQL
l. 5. 3 創(chuàng)建SS_THRESH函數(shù)
1. 5. 4 與數(shù)據庫相連
1. 6 使用 SQLPlus Wroksheet
1. 6. 1 使用 SQLPlus Wrosheet執(zhí)行 PL/SQL塊
1. 7 總結
1. 8 問與答
1. 9 測驗和練習
1. 9. 1 測驗
1. 9. 2 練習
第2章 第2天課程:編寫聲明和塊
2. 1 探討數(shù)據類型
2. 1. 1 VMHARZ
2. 1. 2 VARCHARZ的子類型
2. 1. 3 CHAR
2. 1. 4 CHAR子類型
2. 1. 5 NUMBER
2. 1. 6 BINARtwGER
2. 1. 7 PLS INTEGER
2. 1. 8 DATE
2. l. 9 BOOLEN
2. 1. 10 LONG
2. 1. 11 RAW
2. 1. 12 LONG RAW
2. 1. 13 ROWID
2. 1. 14 UROWID
2. 1. 15 MSLABEL
2. 2 使用塊結構
2. 2. 1 匿名塊
2. 2. 2 函數(shù)和過程塊
2. 2. 3 觸發(fā)器塊
2. 2. 4 嵌套塊
2. 2. 5 嵌套函數(shù)和過程
2. 2. 6 作用域規(guī)則
2. 3 總結
2. 4 問與答
2. 5 測驗和練習
2. 5. 1 測驗
2. 5. 2 練習
第3章 第3天課程:編寫 PL/SQL表達式
3. 1 理解操作符. 表達式和轉換
3. 2 使用PL/SQL操作符建立表達式
3. 2. 1 算術操作符
3. 2. 2 比較操作符
3. 2. 3 邏輯操作符
3. 2. 4 字符串操作符
3. 3 對字符串使用比較操作符
3. 3. 1 字符集對字符串比較的影響
3. 3. 2 大小寫對字符串比較的影響
3. 4 對日期使用比較操作符
3. 5 使用表達式
3. 5. 1 定義表達式
3. 5. 2 操作符優(yōu)先級
3. 5. 3 表達式類型
3. 5. 4 表達式中的空值
3. 6 轉換數(shù)據類型
3. 6. 1 隱式轉換
3. 6. 2 顯式轉換
3. 7 總結
3. 8 問與答
3. 9 測驗和練習
3. 9. 1 測驗
3. 9. 2 練習
第4章 第4天課程:使用函數(shù). IF語句和循環(huán)
4. 1 使用 PL/SQL函數(shù)
4. 1. 1 定義參數(shù):形參和實參
4. 1. 2 返回類型
4. 1. 3 函數(shù)違規(guī)
4. 1. 4 異常處理
4. 1. 5 創(chuàng)建存儲函數(shù)
4. 1. 6 查找錯誤
4. 2 NULL語句
4. 2. 1 為何使用NULL語句
4. 2. 2 如何從PL/SQL中使用或不使用參數(shù)調用函數(shù)
4. 2. 3 調用者和定義者的權限
4. 3 使用PL/SQL語句
4. 3. 1 IF語句
4. 3. 2 IF…MN…ELSE語句
4. 3. 3 嵌套IF語句
4. 3. 4 使用 IF...ELSIF語句
4. 3. 5 嵌套IF語句和ELSIF語句
4. 3. 6 格式化IF語句
4. 3. 7 避免IF語句中的常見錯誤
4. 3. 8 循環(huán)語句
4. 3. 9 反向循環(huán)
4. 3. 10 修改步長
4. 4 總結
4. 5 問與答
4. 6 測驗和練習
4. 6. 1 測驗
4. 6. 2 練習
第5章 第5天課程:實現(xiàn)循環(huán)和 GOTO語旬
5. 1 探討標號和GOTO語句
5. 1. 1 語句標號
5. 1. 2 GOTO語句
5. 1. 3 GOTO語句的作用域規(guī)則
5. 1. 4 使用GOTO語句的范例
5. 1. 5 為何使用GOTO語句
5. 2 WHIL循環(huán)
5. 2. 1 WHILE循環(huán)范例
5. 3 EXry語句和 EXIT WHEN語句
5. 3. 1 使用 EXIT和 EXIT WHEN語句的范例
5. 3. 2 在循環(huán)中使用標號和EXIT語句
5. 4 簡單循環(huán)
5. 4. 1 簡單循環(huán)范例
5. 4. 2 創(chuàng)建一個REPEAT…UNTIL循環(huán)
5. 4. 3 模仿的REPEAT…UN TIL循環(huán)范例
5. 5 應該使用哪種循環(huán)
5. 6 使用循環(huán)的指導原則
5. 6. l 循環(huán)的格式
5. 7 遞歸
5. 7. l 準則
5. 7. 2 練習使用遞歸
5. 7. 3 為何使用遞歸
5. 8 總結
5. 9 問與答
5. 10 測驗和練習
5. 10. 1 測驗
5. 10. 2練習
第6章 第6天課程:使用Oracle的內置函數(shù)
6. 1 SQL函數(shù)和PLSQL函數(shù)的比較
6. 2 主要的函數(shù)類型
6. 3 試驗函數(shù)
6. 4 使用轉換函數(shù)
6. 4. 1 使用TO--DATh函數(shù)
6. 4. 2 使用TON HAR
6. 4. 3 使用TOAN BER
6. 4. 4 使用 TONHAR函數(shù)
6. 5 日期函數(shù)
6. 5. 1 SYSDATE函數(shù)
6. 5. 2 ThUNC函數(shù)
6. 5. 3 ADDNONTHS函數(shù)
6. 5. 4 NEXTDAY函數(shù)
6. 5. 5 LAST--DAY函數(shù)
6. 5. 6 MONTllSNETWEENO函數(shù)
6. 5. 7 NEW函數(shù)
6. 5. 8 RO[JN’D函數(shù)
6. 5. gflllM函數(shù)
6. 6總結
6. 7問與答
6. 8測驗和練習
6. 8. 1測驗
6. 8. 2練習
第7章 第7天課程:過程. 包. 錯誤和異常
7. 1使用過程
7. 1. 1為何使用過程
7. 1. 2過程和函數(shù)
7. 1. 3創(chuàng)建過程
7. 1. 4RETU’RNi%句
7. 1. 5過程依賴性
7. 1. 6重新編譯存儲過程
7. 1. 7重新創(chuàng)建和修改函數(shù)
7. 1. 8調用存儲過程
7. 1. 9使用參數(shù)
7. 1. 10參數(shù)定義
7. 1. 11列出存儲過程的信息
7. 1. 12刪除存儲過程
7. 1. 13重載過程
7. 1. 14使用遞歸過程
7. 2過程調用的安全性
7. 3探討包
7. 3. 1為何使用包
7. 3. 2包規(guī)范
7. 3. 3包體
7. 3. 4創(chuàng)建包
7. 3. 5調用包子程序
7. 3石重新編譯包
7. 3. 7公有和私有包對象
7. 3. 8包調用的安全性
7. 3. 9變量. 游標和常量的持續(xù)性
7. 3. 10包狀態(tài)
7. 3. 11包的依賴性
7. 4捕獲錯誤和異常
7. 4. l異常處理結構
7. 4. 2 SQLCODE和SQLEto1M函數(shù)
7. 4. 3發(fā)生異常后繼續(xù)處理
7. 4. 4發(fā)生異常后重試
7. 4. 5重新引發(fā)異常
7. 4. 6異常的作用域規(guī)則
7. 4. 7傳播異常
7. 5總結
7. 6問與答
7. 7測驗和練習
7. 7. 1測驗
7. 7. 2練習
第1周課程復習
第2部分第2周
第8章 第8天課程 SQL
8. 1SQL DML語句的類型
8. 2創(chuàng)建一些Oracle表
8. 3使用INSERT語句
8. 3. 1插入一些數(shù)據
8. 4單個的SELECT語句
8. 4. 1 SELECT i%句范例
8. 5使用UPDATE語句和DELrt語句
8. 6異常處理類型
8. 7使用 LOCK TABLE語句
8. 8事務控制語句
8. 9使用記錄
8. 9. 1聲明記錄變量
8. 9. 2使用%TYPE屬性
8. 9. 3使用基于數(shù)據庫表的記錄變量
8. 9. 4使用記錄變量和SELECT語句
8. 9. 5使用基于游標定義的記錄變量
8. 9. 6包層次的聲明
8. 10偽列
8. 10. ICUIUflWL偽列和NEXVAL偽列
8. 10. 2 RORD偽列
8. 10. 3 ROWN’UM偽列
8. 11總結
8. 12問與答
8. 13測驗和練習
8. 13. 1測驗
8. 13. 2練習
第9章 第9天課程:使用游標操縱數(shù)據
9. 1什么是游標
9. 2顯式游標
9. 2. 1聲明游標
9. 2. 2聲明游標參數(shù)
9. 2. 3打開游標
9. 2. 4將數(shù)據取回到游標中
9. 2. 5關閉游標
9. 2. 6顯式游標的屬性
9. 3顯式游標范例
9. 3. 1使顯式游標自動化
9. 4隱式游標
9. 4. 且隱式游標的屬性
9. 5游標參數(shù)的作用域
9. 6游標RETURN子句和包
9. 7游標變量
9. 7. 1聲明游標變量
9. 7. 2通過游標變量使用游標
9. 7. 3將游標變量賦給其他變量
9. 7. 4將游標變量作為參數(shù)
9. 8游標的當前記錄
9. 9游標的作用域
9. 10游標別名
9. 11總結
9. 12問與答
9. 13測驗和練習
9. 13. 1測驗
9. 13. 2練習
第10章 第10天課程:集合
10. 且使用PUSQL索引表
10. 1. 1聲明索引表
10. 1. 2將條目插入到索引表中
10. 1. 3引用索引表中的值
10. 1. 4修改表中的條目
10. 1. 5刪除表中的條目
10. 1. 6 PUSQL表的方法
10. 2使用嵌套表
10. 2. 1聲明嵌套表
10. 2. 2給嵌套表添加條目
10. 2. 3刪除嵌套表中的東
10. 3使用變長數(shù)組
10. 3. 1聲明和初始化變長數(shù)組
10. 3. 2給變長數(shù)組添加和刪除數(shù)據
10. 4使用批綁定
10. 4. 1使用 BULK COLLECT
10. 4. 2使用FORAL
10. 5集合的異常處理
10. 6總結
10. 7問與答
10. 8測驗和練習
10. 8. 1測驗
10. 8. 2練習
第11章 第11天課程:編寫數(shù)據庫觸發(fā)器
11. 1 什么是觸發(fā)器
11. 2 DML觸發(fā)器
11. 2. 1 DML觸發(fā)器范例
11. 2. 2 DML觸發(fā)器分類
11. 2. 3定義數(shù)據庫觸發(fā)器的語法
11. 3 觸發(fā)器的用途
11. 3. 1維護數(shù)據完整性
11. 3. 2維護歷史記錄
11. 4管理觸發(fā)器
11. 4. 1列出觸發(fā)器
11. 4. 2查看觸發(fā)器的代碼
11. 4. 3打開和關閉觸發(fā)器
11. 5非傳統(tǒng)觸發(fā)器
11. 5. 1定義作用于數(shù)據庫事件或模式事件的觸發(fā)器的語
11. 5. 2事件屬性
11. 5. 3編寫一個數(shù)據庫事件觸發(fā)器
11. 5. 4編寫DDL事件觸發(fā)器
11. 6使用替代觸發(fā)器
11. 6. 1定義替代觸發(fā)器的語法
11. 6. 2編寫一個替代觸發(fā)器
11. 7探討觸發(fā)器的局限性
11. 7. 互觸發(fā)器和變化表
11. 8總結
11. 9問與答
11. 10測驗和練習
11. 10. l測驗
11. 10. 2練習
第 12章第 12天課程:將 Oraclest對象用于面向對象編S
12. l面向對象編程的基本知識
12. 1. l封裝
12. 1. 2繼承
12. 1. 3多態(tài)
12. 1. 4類. 對象. 屬性和方法
12. 1. 5 OOP優(yōu)于傳統(tǒng)方法的地方
12. 2 Oraclest是如何實現(xiàn)對象的
12. 2. 1對象類型
12. 2. 2對象表
12. 2. 3對象視圖
12. 3定義對象類型
12. 3. l構造函數(shù)
12. 3. 2取值方法
12. 3. 3賦值方法
12. 4實例化和使用對象
12. 5存儲和檢索對象
12. 5. 1將對象存儲為表字段
12. 5. 2檢索和更新表字段中的對象
12. 6使用對象表
12. 6. 1將對象存儲在對象表中
12. 6. 2檢索和更新對象表中的對象
12石. 3刪除對象表中的對象
12. 7嵌套和共享對象
12. 7. 1點號表示法
12. 7. 2對象引用
12. 8探討 SELF參數(shù)
12. 9重載
12. 10比較對象
12. 10. 1 ORDER方法
12. 10. 2 MAP方法
12. 11 OraCIC實現(xiàn)的局限性
12. 12總結
12. 13問與答
12. 14測驗和練習
12. 14. 1測驗
12. 14. 2練習
第13章 第13天課程:調試代碼并防止錯誤
13. 1定位并消除語法錯誤
13. 1. 1識別語法錯誤
13. 1. 2一個識別語法錯誤的范例
13. 1. 3防止語法錯誤
13. 2處理邏輯錯誤
13. 2. 1操作次序
13. 2. 2死循環(huán)
13. 2. 3邏輯錯誤的排除方法
13. 3使用工具幫助調試程序
13. 3. 1將DBMS_OUTPUT用做調試工具
13. 3. 2編寫 DEBUG包
13. 4防止錯誤并規(guī)劃以后的調試
13. 4. 且定義需求和規(guī)劃項目
13. 4. 2使用模塊化方法編碼
13. 4. 3注釋代碼
13. 4. 4在代碼中編寫斷言
13. 4. 5格式化代碼
13. 5總結
13. 6問與答
13. 7測驗和練習
13. 7. 1測驗
13. 7. 2練習
第14章第14天課程:使用大型對象類型
14. 1探討大型對象數(shù)據類型
14. 1. 1 LOB的局限性
14. 1. 2 LOB和LONG數(shù)據類型的比較
14. 1. 3 將LONG轉換為LOB
14. 2在OraClest數(shù)據庫中使用外部文件
14. 2. 1創(chuàng)建目錄對象
14. 2. 2 BFILE的局限性
14. 3將DBMSthOB包用于BFILE
14. 3. 1 BHLE:NAME函數(shù)
14. 3. 2 COMRUIE函數(shù)
14. 3. 3 FILECOLOSE過程
14. 3. 4 MLECLOSEALL過程
14. 3. 5 MLEEXISTS函數(shù)
14. 3. 6 MLEGETNAME過程
14. 3. 7 FILESOPEN函數(shù)
14. 3. 8 FILEOPEN過程
14. 3. 9 GEILENGTH函數(shù)
14. 3. 10 INSTR函數(shù)
14. 3. 11 READ過程
14. 3. 12 SUBSTR函數(shù)
14. 4使用DMBS上OB包的BFILE范例
14. 4. 1訪問BFILE
14. 4. 2比較文件
14. 5使用定位器
14. 6將DBMSNOB包用于內部LOB
14. 6. 1 APPEND過程
14. 6. 2 COMIVUIE函數(shù)
14. 6. 3 COPY過程
14. 6. 4 EMPTY_BLOB函數(shù)
14. 6. 5 EMPTY_CLOB函數(shù)
14. 6. 6 ERASE過程
14. 6. 7 GETLENGTH函數(shù)
14. 6. 8 INSTR函數(shù)
14. 6. 9 READ過程
14. 6. 10 SUBSTR函數(shù)
14. 6. 11 TRIM過程
14. 6. 12 WRITE過程
14. 7使用DMBS上OB包的內部LOB范例
14. 7. l創(chuàng)建一個表
14. 7. 2給表添加數(shù)據
14. 7. 3使用COPY過程將數(shù)據添加到表LOBs中
14. 7. 4使用APPEND和VqllTh操縱內部LOB
14. 7. 5分析內部LOB的內容
14. 7. 6使用TRIM和ERASE編輯CLOB
14. 8臨時 LOB
14. 8. 且管理臨時LOB
14. 8. 2創(chuàng)建臨時LOB
14. 9總結
14. 10問與答
14. 11測驗和練習
14. 11. 1測驗
14. 11. 2練習
第2周課程復習
第3部分第3周課程
第15章第15天課程:管理事務和鎖定
15. 1事務類型
15. 2開始事務
15. 3結束事務
15. 4撤銷事務
15. 5兩步提交
15. 6使用保存點創(chuàng)建書簽
15. 7使用 RELEASE選項
15. 8使用鎖定
15. 8. 1鎖定表
15. 8. 2鎖定記錄
15. 8. 3顯式鎖定
15. 8. 4 DBMSthOCK包
15. 8. 5使用其他鎖定
15. 8. 6監(jiān)視鎖定
15. 9總結
15. 10問與答
15. 11測驗和練習
15. 11. l測驗
15. 11. 2練習
第 16章第 16天課程:主成動態(tài) SQL
16. l什么是動態(tài)SQL, 為何使用它
16. 2兩種使用動態(tài)SQL的方法
16. 3使用DBMS_SQL包
16. 3. 1使用DBMS_SQL包執(zhí)行非查詢DDL和DML
16. 3. 2使用DBMS_SQL包執(zhí)行查詢
16. 3. 3使用DBMS_SQL包執(zhí)行匿名PL/SQL塊
16. 3. 4處理DBMS-SQL錯誤
16. 3. 5使用LASTHOWNOUNT
16. 3. 6使用 LASTNOWID
16. 3. 7使用 LASTNngORNOSITON
16. 4使用本機動態(tài)SQL
16. 4. 1執(zhí)行DML和DDL
16. 4, 2執(zhí)行SQL查詢
16. 4. 3執(zhí)行PLSQL塊
16. 5總結
16. 6問與答
16. 7測驗和練習
16. 7. 1測驗
16. 7. 2練習
第17章第17天課程:將數(shù)據寫到文件和顯示屏
17. IDBMS--OUTPUT包
17. 1. 1開啟 DBMS. OUTPUT包
17. 1. 2關閉 DBMS-OUTPUT包
門. 1. 3將數(shù)據寫到緩沖區(qū)
17. 1. 4從緩沖區(qū)讀取數(shù)據
17. l. 5 DBMS--QUTPUT包9]發(fā)的異常
17. 2使用 UTLN包讀寫文件
17. 2. 1文件輸入
17. 2. 2使用UTLN E過程和函數(shù)
17. 2. 3 HUSH過程
17. 2. 4使用UTLMLE的范例
17. 3將TEXTIO用于客戶文件
17. 4總結
17. 5問與答
17. 6測驗和練習
17. 6. 1測驗
17. 6. 2練習
第18章第18天課程:管理數(shù)據庫作業(yè)
18. 1使用DBMSjOB包提交作業(yè)
18. 2使用后臺進程
18. 3執(zhí)行作業(yè)
18. 3. 1使用SUBMIT將作業(yè)提交給作業(yè)隊列
18. 3. 2使用 RUN立刻執(zhí)行作業(yè)
18. 3. 3探討作業(yè)環(huán)境
18. 4查看作業(yè)
18. 4. 1查看作業(yè)的范例
18. 5作業(yè)管理
18. 5. 1刪除作業(yè)
18. 5. 2修改作業(yè)
18. 5. 3導入和導出作業(yè)
18. 5. 4處理損壞的作業(yè)
18. 6練習管理作業(yè)
18. 6. 1創(chuàng)建作為作業(yè)提交的過程
18. 6. 2將所有的作業(yè)提交給作業(yè)隊列
18. 6. 3立刻運行所有的三個作業(yè)
18. 6. 4查看關于作業(yè)的信息
18. 6. 5通過運行 HELLO作業(yè)修改作業(yè)
18. 6. 6刪除 Hello作業(yè)
18. 7總結
18. 8問與答
18. 9測驗和練習
18. 9. 1測驗
18. 9. 2練習
第19章第19天課程:報警以及與其他過程通信:DBMS_ALERT和DBMS_PIPE包
19. 1 DBMS_ALERT包
19. 2使用SIGNAL發(fā)布報警
19. 3注冊報警
19. 4等待特定的報警
19. 5等待所有已注冊的報警
19. 6刪除一個報警
19. 7刪除所有的報警
19. 8 SET_AIEFAULTS過程涉及的輪訊和事件
19. 9 演示DBMS_ALERT包的用法
19. 9. 1創(chuàng)建備份數(shù)據庫
19. 9. 2創(chuàng)建觸發(fā)器, 以發(fā)送報警
19. 9. 3等待報警
19. 10 DBMSJIPE包
19. 10. 1公有管道和私有管道
19. 10. 2使用管道
19. 10. 3 DMBS_PIPE中的函數(shù)和過程
19. 10. 4使用管道的范例
19. 10. 5其他管道函數(shù)和過程
19. 10. 6管道的其他用途
19. 11報警和管道的比較
19. 12總結
19. 13問與答
19. 14測驗和練習
19. 14. l測驗
19. 14. 2練習
第20章第 20天課程:PL/SQL和Java
20. l使用Oracle的Java引擎
20. 2 PLSQL將被淘汰嗎
20. 3創(chuàng)建Java過程
20. 3. 1 需要的前提條件
20. 3. 2 SS_CONSTANTS類
20. 3. 3裝載類
20. 3. 4公布SSThresh方法
20. 3. 5在 SQL”PISS中調用 SSHHRESH
20. 3. 6在PLSQL中調用SSHHRESH
20. 3. 7刪除 SSContants類
20. 4從PLSQL中調用Java
20. 4. IEIDployee類
20. 4. 2公布 Java方法
20. 4. 3數(shù)據類型兼容性
20. 4. 4使用 OUT和 IN OUT參數(shù)
20. 5使用SQLJ從Java中調用PLSQL
20. 5. 1使用SQLJ執(zhí)行匿名PLSQL塊
20. 5. 2使用SQLJ調用PLISQL過程或函數(shù)
20. 6總結
20. 7問與答
20. 8測驗和練習
20. 8. 1測驗
20. 8. 2 練習
第21章 第21天課程:高級排隊
21. 1 什么是AQ
21. 1. 1 揭開AQ的神秘面紗
21. l. 2 AQ的重要特性
21. 2 配置服務器, 以便使用AQ
21. 3 探討AQ方案
21. 4 創(chuàng)建一個消息隊列
21. 4. l 為負載定義一個類型
21. 4. 2 創(chuàng)建隊列表
21. 4. 3 創(chuàng)建隊列
21. 5 啟動和關閉隊列
21. 6 將消息放入隊列
21. 6. l 與入隊相關的記錄類型
21. 6. 2 將消息放入隊列
21. 7 從隊列中檢索消息
21. 7. 1 與出隊相關的記錄類型
21. 7. 2 將消息從隊列中取出
21. 8 使用其他AQ過程
21. 8. 1 刪除隊列
21. 8. 2 刪除隊列表
21. 8. 3 授予和收回訪問隊列的權限
21. 9 總結
21. 10 問與答
21. 11 測驗和練習
21. 11. 1 測驗
21. 11. 2 練習
第3周 課程復習
附錄A 測驗和練習答案