Oracle PL/SQL從入門到精通
內容描述
《Oracle PL/SQL從入門到精通》這本書系統而全面地介紹了PL/SQL語言,以循序漸進的方式引領讀者逐步地掌握使用PL/SQL語言進行程序設計和開發,並介紹了一些實用的編程技巧。為了方便讀者學習,隨書配有135個視頻講解,讀者可以邊看邊學;為了方便教師的教學需要,本書的每一章都配有詳細的教學幻燈片;書中還特別設計了一個虛擬科研項目,利用這個項目的運作來幫助讀者理解真正的IT從業人員在商業公司中是如何工作的。本書共分21個章節,第0-10章由淺入深地介紹了PL/SQL程序設計語言及其使用,靠前2-20章主要講解開發大型應用軟件系統相關的內容,如軟件包、觸發器、批量綁定及源程序加密等。
目錄大綱
第0章Oracle的安裝及相關配置
視頻講解:3集11分鐘
0.1Oracle的安裝
0.2Oracle11g和Oracle12c中的SQLPlus
0.3scott用戶及其對象維護
0.4本書中將用到的表
0.5SQL(StructuredQueryLanguage)
0.6本書所用的術語
0.7Oracle10g的SQLPlus界面
0.8使用iSQLPlus
0.9使用DOS窗口啟動SQLPlus
第1章PL/SQL程序設計語言概述
視頻講解:1集8分鐘
1.1PL/SQL語言的體系結構
1.2模塊化程序設計簡介
1.3PL/SQL語言的優勢
1.4PL/SQL程序塊的結構
1.5使用SQLPlus創建匿名程序塊的步驟
1.6使用SQLPlus創建、編輯和執行匿名塊的實例
1.7您應該掌握的內容
第2章OracleSQLDeveloper簡介
視頻講解:4集14分鐘
2.1安裝SQLDeveloper和創建數據庫連接
2.2SQLDeveloper的菜單
2.3導出表的設計信息和源程序代碼
2.4創建新對象和使用SQL工作表
2.5導出SQL語句的執行計劃
2.6使用Oracle11g和12c自帶的OracleSQLDeveloper
第3章常用的SQLPlus命令
視頻講解:3集20分鐘
3.1DESC[RIBE]命令
3.2SETLINE[SIZE]{80|n}命令
3.3L命令和ntext命令
3.4“ /”命令
3.5n(設置當前行)命令和A[PPEND](附加)命令
3.6DEL命令
3.7C[HANGE]命令
3.8生成腳本文件
3.9編輯腳本文件
3.10直接運行腳本文件
3.11SPOOL命令
3.12將Oracle數據庫的數據導出給其他系統
3.13將數據導出操作自動化
3.14商業智能軟件讀取Oracle數據的簡單方法
3.15利用AUTOTRACE追踪SQL語句
3.16獲取SQLPlus的幫助信息
3.17您應該掌握的內容
第4章PL/SQL變量的聲明與使用
視頻講解:5集25分鐘
4.1PL/SQL變量的使用
4.2PL/SQL變量的聲明和初始化
4.3字符串分隔符的說明與使用
4.4變量的數據類型
4.5%TYPE屬性
4.6布爾變量的聲明與使用
4.7替代變量與綁定變量
4.8LOB類型的變量
4.9聲明PL/SQL變量指南
4.10您應該掌握的內容
第5章編寫PL/SQL語言的可執行語句
視頻講解:5集18分鐘
5.1PL/SQL語言中的詞法單元
5.2標識符和定界符
5.3文字的使用和應用實例
5.4為程序代碼加註釋
5.5SQL函數在PL/SQL中的應用
5.6Oracle11g和12c的PL/SQL對序列操作的改進
5.7數據類型的轉換
5.8PL/SQL中的運算符
5.9程序塊的嵌套和變量的作用域
5.10變量的作用域和可見性的進一步探討
5.11程序設計的指導原則
5.12您應該掌握的內容
第6章PL/SQL與Oracle服務器之間的交互
視頻講解:3集20分鐘
6.1PL/SQL中的SQL語句及使用SELECT語句提取數據
6.2在PL/SQL中使用SELECT語句提取數據的實例
6.3利用分組函數從表中提取數據
6.4PL/SQL變量與列同名的問題及命名慣例
6.5數據庫中數據維護概述和準備工作
6.6插入數據、修改數據和刪除數據
6.7MERGE語句
6.8合併數據庫中的數據行
6.9您應該掌握的內容
第7章分支(條件)語
視頻講解:4集20分鐘
7.1PL/SQL中的布爾條件
7.2IF語句以及簡單IF語句的實例
7.3IF-THEN-ELSE和IF-THEN-ELSIF語句的執行流程
7.4IF-THEN-ELSE語句的實例
7.5IF-THEN-ELSIF語句的實例
7.6CASE表達式
7.7CASE語句
7.8GOTO語句
7.9您應該掌握的內容
第8章PL/SQL語言的循環語句
視頻講解:7集22分鐘
8.1重複控制——循環語句及基本循環語句的語法
8.2基本循環語句的實例
8.3WHILE循環
8.4FOR循環
8.5反向FOR循環及使用循環的指導原則
8.6循環的嵌套和標號
8.7Oracle11g和Oracle12c引入的CONTINUE語句
8.8您應該掌握的內容
第9章PL/SQL中常用的組合數據類型
視頻講解:10集32分鐘
9.1組合數據類型概述
9.2PL/SQL記錄類型數據以及創建它的語法
9.3PL/SQL語言中的%ROWTYPE屬性
9.4使用%ROWTYPE屬性聲明記錄
9.5利用%ROWTYPE屬性插入和修改記錄
9.6INDEXBY表或PL/SQL表
9.7INDEXBY表的應用實例
9.8INDEXBY表的方法及使用實例
9.9INDEXBY記錄表
9.10您應該掌握的內容
第10章SQL游標(cursor)
視頻講解:6集27分鐘
10.1SQL隱式cursor的屬性及其應用實例
10.2顯式cursor概述
10.3控制顯式cursor
10.4聲明(顯式)cursor
10.5打開(顯式)cursor及從中提取數據
10.6關閉顯式cursor及使用它的屬性
10.7利用循環及屬性控制cursor的實例
10.8cursor與記錄
10.9您應該掌握的內容
第11章顯式cursor的高級功能
視頻講解:6集16分鐘
11.1cursor的FOR循環
11.2在cursor的FOR循環中使用子查詢
11.3在cursor定義中使用子查詢
11.4帶參數的cursor
11.5FORUPDATE子句
11.6 WHERECURRENTOF子句
11.7您應該掌握的內容
第12章PL/SQL程序中的異常處理
視頻講解:7集25分鐘
12.1異常處理概述
12.2PL/SQL中的異常處理
12.3如何捕獲異常
12.4如何捕獲預定義的Oracle服務器錯誤
12.5如何捕獲非預定義的Oracle服務器錯誤
12.6捕獲異常的兩個函數
12.7捕獲用戶定義的異常
12.8在程序塊中異常的捕獲與傳播
12.9RAISE_APPLICATION_ERROR過程
12.10您應該掌握的內容
第13章過程的創建、維護和刪除
視頻講解:7集33分鐘
13.1模塊化與分層的子程序設計
13.2PL/SQL的子程序
13.3過程的定義及創建
13.4創建過程的語法
13.5過程的參數模式(方式)
13.6使用IN參數模式的實例
13.7使用OUT參數模式的實例
13.8使用INOUT參數模式的實例
13.9傳遞實參的表示法
13.10在PL/SQL程序中調用一個過程
13.11在SQLDeveloper中調用過程
13.12在過程中聲明和調用另一個過程
13.13在過程中處理異常
13.14在過程中沒有處理異常
13.15過程的發現與刪除
13.16您應該掌握的內容
第14章函數的創建、維護和刪除
視頻講解:6集23分鐘
14.1函數的概述以及創建函數的語法
14.2使用SQL*Plus或SQLDeveloper創建函數
14.3創建和調用存儲 函數的實例
14.4在SQLDeveloper中開發、調試和調用函數
14.5在SQL表達式中使用用戶定義的函數
14.6從SQL表達式中調用函數的限制
14.7從SQL中用名字表示法或混合表示法調用函數
14.8函數的發現與刪除以及函數與過程的比較
14.9您應該掌握的內容
第15章PL/SQL軟件包
視頻講解:5集21分鐘
15.1PL/SQL軟件包概述
15.2PL/SQL軟件包的組件及可見性
15.3PL/SQL軟件包的開發方法
15.4創建PL/SQL軟件包的說明
15.5創建PL/SQL軟件包體
15.6創建和使用無體的PL/SQL軟件包
15.7軟件包的發現與刪除
15.8在SQLDeveloper中開發和編譯軟件包說明
15.9在SQLDeveloper中開發和編譯軟件包體
15.10在SQLDeveloper中運行軟件包
15.11您應該掌握的內容
第16章PL/SQL軟件包的高級特性和功能
視頻講解:9集32分鐘
16.1在PL/SQL中子程序的重載
16.2創建帶有重載過程的軟件包的實例
16.3STANDARD軟件包與子程序重載
16.4前向引用(ForwardReferences)所造成的問題
- 5前向聲明(ForwardDeclarations)
16.6軟件包的初始化
16.7在SQL中使用軟件包中的函數
16.8軟件包中變量的持續狀態
16.9軟件包變量持續狀態的實例
16.10軟件包中cursor的持續狀態
16.11在軟件包中使用PL/SQL記錄表(記錄數組)
16.12您應該掌握的內容
第17章數據庫觸發器
視頻講解:6集48分鐘
17.1觸發器概述
17.2觸發器的應用範圍、設計原則以及分類
17.3DML觸發器的創建
17.4觸發器觸發的順序
17.5創建和測試語句觸發器的實例
17.6帶有條件謂詞的語句觸發器的實例
17.7創建和測試DML行觸發器
17.8在行觸發器中使用OLD和NEW限定符
17.9在行觸發器中使用OLD和NEW限定符的實例
17.10利用WHEN子句有條件觸發行觸發器
17.11觸發器執行模型概要及實現完整性約束的準備
17.12利用觸發器來實現完整性約束
17.13INSTEADOF觸發器及實例的準備工作
17.14創建INSTEADOF觸發器的實例
17.15INSTEADOF觸發器的測試實例
17.16觸發器的管理與維護及與過程 的比較
17.17觸發器的管理與維護的實例
17.18您應該掌握的內容
第18章批量綁定及高級觸發器特性
視頻講解:7集40分鐘
18.1批量綁定概述及批量綁定的語法
18.2批量綁定FORALL的實例
18.3cursor屬性%BULK_ROWCOUNT的應用
18.4在查詢語句中使用BULKCOLLECTINTO子句
18.5在FETCH語句中使用BULKCOLLECTINTO子句
18.6帶有RETURNING和BULKCOLLECTINTO關鍵字的FORALL語句
18.7利用Index數組進行批量綁定
18.8利用RETURNING子句將DML語句的結果直接裝入變量
18.9變異表及在變異表上觸發器的限制
18.10複合觸發器(compoundtrigger)概述
18.11利用複合觸發器解決變異表的錯誤
18.12創建基於DDL語句或基於系統事件的觸發器
18.13用戶登錄和退出觸發器的創建和測試
18.14觸發器中的CALL語句
18.15數據庫事件觸發器的優點以及設計、管理和維護觸發器要注意的事項
18.16您應該掌握的內容
第19章PL/SQL程序代碼設計上的考慮、Oracle自帶軟件包及數據庫優化簡介
視頻講解:8集46分鐘
19.1常量和異常 標準化概述
19.2標準化異常和標準化異常處理
19.3標準化常量
19.4本地子程序的應用
19.5程序的定義者權限與調用者權限
19.6自治事物
19.7使用自治事物的實例
19.8Oracle提供(自帶)的軟件包簡介
19.9計算機內外存以及系統優化簡介
19.10將程序常駐內存
19.11將數據緩存在內存中
19.12將數據常駐內存
19.13將查詢的結果緩存在內存
19.14跨會話的PL/SQL函數結果緩存
19.15您應該掌握的內容
第20章導出程序的源代碼以及源代碼加密
20.1以命令行方式獲取數據庫系統的設計
20.2導出存儲程序的接口參數
20.3導出存儲程序的源代碼
20.4導出觸發器的類型、觸發事件、描述及源代碼
20.5PL/SQL源代碼加密及動態加密
20.6使用CREATE_WRAPPED過程加密PL/SQL源代碼
20.7使用CREATE_WRAPPED過程加密較長的代碼
20.8PL/SQL封裝實用程序簡介
20.9PL/SQL封裝實用程序應用實例
20.10加密的原則及DBMS_DDL與Wrap的比較
20.11您應該掌握的內容
結束語
作者介紹
何明,Oracle、Linux不錯講師,十餘年Oracle數據庫、Linux技術服務與培訓經驗,先後為西門子、惠普、中國移動、中國網通、中信銀行、神州數碼、NEC、殼牌(Shell)、中國民航、北電網絡、天津地稅局和財政局、唐山鋼鐵集團、索貝數碼、TOM在線(香港)、北京郵政局等50餘家大中型企業做過培訓。