Oracle PL/SQL從入門到精通

Oracle PL/SQL從入門到精通

《Oracle PL/SQL從入門到精通》是清華大學出版社2012-6-1出版的圖書。

基本介紹

  • 書名:Oracle PL/SQL從入門到精通
  • 作者:丁士鋒 
  • 頁數:655
  • 出版社:清華大學出版社
  • 出版時間:2012-6-1
  • 開本:16
內容簡介,目錄,

內容簡介

本書以面向套用為原則,深入淺出的介紹了oracle平台上使用pl/sql語言進行資料庫開發的技術。通過大量的示例,詳細介紹了pl/sql的語言特性、使用技巧,同時配以2個在實際工作中的示例來深入的剖析了pl/sql進行oracle開發的方方面面。
本書附帶1張dvd光碟,內容為作者為本書錄製的全程語音教學視頻及本書所涉及的原始碼。
本書共分為20章,分為5大篇。涵蓋的內容主要有pl/sql語言基礎、開發環境、變數與類型、控制語句、數據表的管理和查詢、數據表的操縱、使用pl/sql的記錄與集合、各種內置函式、游標、事務處理、異常處理、子程式、包、面向對象的開發等等技術點。通過示例性的代碼,由淺入深,詳細介紹了每一個技術要點在實際工作中的套用,對於各種技術要點的套用場合進行了細緻的分析。
本書適合於使用pl/sql進行應用程式開發的人員、對軟體開發有興趣的學生及愛好者;對資料庫管理員、企業it運維人員也具有很強的指導作用。

目錄

第1篇 pl/sql開發入門
第1章 oracle 11g資料庫系統
1.1 關係型資料庫系統介紹
1.1.1 什麼是關係型數據模型
1.1.2 資料庫系統範式
1.1.3 關係型資料庫管理系統
1.1.4 使用sql語句與資料庫管理系統通信
1.2 初識oracle 11g
1.2.1 oracle 11g簡介
1.2.2 oracle 11g體系結構
1.2.3 如何創建資料庫
1.2.4 比較oracle資料庫與sql server資料庫
1.3 什麼是pl/sql
1.3.1 pl/sql是一種語言
1.3.2 pl/sql的執行環境
1.4 搭建pl/sql開發環境
1.4.1 使用sql*plus
1.4.2 使用oracle sql developer
1.4.3 pl/sql developer開發pl/sql
.1.4.4 quest toad開發pl/sql
1.4.5 使用oracle文檔庫
1.5 小結
第2章 pl/sql基本概念
2.1 功能特點
2.1.1 結構化程式設計
2.1.2 與sql語言整合
2.1.3 面向對象開發
2.1.4 模組化應用程式開發
2.1.5 提高應用程式性能
2.2 語言特性
2.2.1 pl/sql塊結構
2.2.2 變數和類型
2.2.3 程式控制語句
2.2.4 過程、函式與包
2.2.5 觸發器
2.2.6 結構化異常處理
2.2.7 集合與記錄
2.2.8 游標
2.2.9 動態sql
2.3 編碼風格
2.3.1 pl/sql詞法單位
2.3.2 縮進
2.3.3 標識符命名規則
2.3.4 大小寫風格
2.3.5 使用工具格式化代碼
2.4 小結
第3章 變數和類型
3.1 變數
3.1.1 變數的聲明
3.1.2 變數的賦值
3.1.3 使用%type
3.1.4 使用%rowtype
3.1.5 變數的作用域和可見性
3.1.6 常量的定義
3.2 數據類型
3.2.1 字元類型
3.2.2 數字類型
3.2.3 日期和時間類型
3.2.4 布爾類型
3.2.5 lob對象類型
3.2.6 引用類型
3.2.7 複合類型
3.2.8 用戶自定義子類型
3.2.9 數據類型轉換
3.3 運算符和表達式
3.3.1 運算符類型
3.3.2 運算符的優先權
3.3.3 表達式類型
3.4 小結
第4章 pl/sql控制語句
4.1 分支控制語句
4.1.1 if-then-else語句
4.1.2 if-then-elsif語句
4.1.3 case語句
4.1.4 搜尋case語句
4.2 循環控制語句
4.2.1 loop循環
4.2.2 使用exit退出循環
4.2.3 使用exit-when退出循環
4.2.4 使用continue繼續執行循環
4.2.5 while-loop循環
4.2.6 for-loop循環
4.2.7 循環語句使用建議
4.3 順序控制語句
4.3.1 goto語句和標籤
4.3.2 null語句
4.4 小結
第2篇 pl/sql開發基礎
第5章 管理數據表
5.1 創建表
5.1.1 數據定義語言ddl
5.1.2 create table語句
5.1.3 在設計器中創建表
5.1.4 創建表副本
5.2 創建約束
5.2.1 創建主鍵約束
5.2.2 創建外鍵約束
5.2.3 創建檢查約束
5.2.4 查看錶約束
5.3 修改表
5.3.1 修改表列
5.3.2 修改約束
5.3.3 移除數據表
5.3.4 在設計器中修改表
5.4 索引
5.4.1 索引簡介
5.4.2 索引原理
5.4.3 創建索引
5.4.4 修改索引
5.4.5 刪除索引
5.5 使用視圖
5.5.1 視圖簡介
5.5.2 創建視圖
5.5.3 修改視圖
5.5.4 刪除視圖
5.6 小結
第6章 查詢數據表
6.1 簡單查詢
6.1.1 查詢表數據
6.1.2 指定查詢條件
6.1.3 排序
6.1.4 使用函式
6.1.5 統計函式
6.1.6 分組統計
6.1.7 having子句
6.1.8 使用dual表
6.1.9 rownum偽列
6.1.10 rowid偽列
6.2 複雜查詢
6.2.1 多表連線查詢
6.2.2 使用子查詢
6.2.3 表集合操作
6.2.4 層次化查詢
6.3 小結
第7章 操縱數據表
7.1 插入記錄
7.1.1 數據操縱語言dml
7.1.2 插入單行記錄
7.1.3 插入默認值和null值
7.1.4 使用子查詢插入多行數據
7.1.5 使用insert插入多表數據
7.2 更新記錄
7.2.1 更新單行記錄
7.2.2 使用子查詢更新記錄
7.2.3 使用merge合併表行
7.3 刪除記錄
7.3.1 刪除單行記錄
7.3.2 使用子查詢刪除記錄
7.3.3 使用truncate清除表數據
7.4 提交和回滾記錄
7.4.1 提交更改
7.4.2 回滾更改
7.5 使用序列
7.5.1 序列簡介
7.5.2 創建數據序列
7.5.3 nextval和currval偽列
7.5.4 使用數據序列
7.5.5 修改序列
7.5.6 刪除序列
7.6 同義詞
7.6.1 同義詞簡介
7.6.2 創建和使用同義詞
7.7 小結
第8章 記錄與集合
8.1 記錄類型
8.1.1 記錄類型簡介
8.1.2 定義記錄類型
8.1.3 記錄類型賦值
8.1.4 操縱記錄類型
8.1.5 使用嵌套記錄
8.2 理解集合類型
8.2.1 集合簡介
8.2.2 定義索引表
8.2.3 操縱索引表
8.2.4 定義嵌套表
8.2.5 操縱嵌套表
8.2.6 資料庫中的嵌套表
8.2.7 定義變長數組
8.2.8 操縱變長數組
8.2.9 資料庫中的變長數組
8.2.10 選擇集合類型
8.3 使用集合方法
8.3.1 使用exists方法
8.3.2 使用count方法
8.3.3 使用limit方法
8.3.4 first和last方法
8.3.5 prior和next方法
8.3.6 extend方法
8.3.7 trim方法
8.3.8 delete方法
8.3.9 集合的異常處理
8.3.10 使用批量綁定
8.3.11 使用bulk collect
8.4 小結
第9章 sql內置函式
9.1 基本函式
9.1.1 字元型函式
9.1.2 數字型函式
9.1.3 日期時間函式
9.1.4 類型轉換函式
9.1.5 分組函式
9.1.6 其他函式
9.2 oracle分析函式
9.2.1 什麼是分析函式
9.2.2 基本語法
9.2.3 分析函式結構
9.2.4 分析函式列表
9.3 分析函式使用示例
9.3.1 記錄排名
9.3.2 首尾記錄查詢
9.3.3 前後排名查詢
9.3.4 層次查詢
9.3.5 範圍統計查詢
9.3.6 相鄰記錄比較
9.3.7 抑制重複
9.3.8 行列轉換查詢
9.3.9 在pl/sql中使用分析函式
9.4 小結
第10章 使用游標
10.1 游標基本結構
10.1.1 游標簡介
10.1.2 游標分類
10.1.3 定義游標類型
10.1.4 打開游標
10.1.5 使用游標屬性
10.1.6 提取游標數據
10.1.7 批量提取游標數據
10.1.7 關閉游標
10.2 操縱游標數據
10.2.1 loop循環
10.2.2 while循環
10.2.3 游標for循環
10.2.4 修改游標數據
10.3 游標變數
10.3.1 游標變數簡介
10.3.2 聲明游標變數類型
10.3.3 定義游標變數
10.3.4 打開游標變數
10.3.5 控制游標變數
10.3.7 處理游標變數異常
10.3.8 在包中使用游標變數
10.3.9 游標變數的限制
10.4 小結
第11章 事務處理和鎖定
11.1 事務處理簡介
11.1.1 什麼是事務處理
11.1.2 使用commit提交事務
11.1.3 使用rollback回滾事務
11.1.4 使用savepoint保存點
11.1.5 使用set transaction設定事務屬性
11.2 使用鎖定
11.2.1 理解鎖定
11.2.2 記錄鎖定
11.2.3 表鎖定
11.2.4 使用lock table
11.3 小結
第12章 異常處理機制
12.1 理解異常處理
12.1.1 異常處理簡介
12.1.2 異常處理語法
12.1.3 預定義異常
12.2 自定義異常
12.2.1 聲明異常
12.2.2 作用域範圍
12.2.3 使用exception_init
12.2.4 使用raise_application_error
12.2.5 拋出異常
12.2.6 處理異常
12.2.7 使用sqlcode和sqlerrm
12.3 異常的傳遞
12.3.1 執行時異常傳遞
12.3.2 聲明時異常傳遞
12.3.3 異常處理器中的異常
12.3.4 重新拋出異常
12.3.5 異常處理準則
12.4 小結
第3篇 pl/sql進階編程
第13章 pl/sql子程式
13.1 子程式結構
13.1.1 子程式簡介
13.1.2 子程式的優點
13.1.3 創建過程
13.1.4 創建函式
13.1.5 return語句
13.1.6 查看和刪除子程式
13.2 子程式參數
13.2.1 形參與實參
13.2.2 參數模式
13.2.3 形式參數的約束
13.2.4 參數傳遞方式
13.2.5 參數默認值
13.2.6 使用nocopy編譯提示
13.3 子程式進階技術
13.3.1 在sql中調用子程式
13.3.2 嵌套子程式
13.3.3 子程式的前向聲明
13.3.4 重載子程式
13.3.5 子程式自治事務
13.3.6 遞歸調用子程式
13.3.7 理解子程式依賴性
13.3.8 子程式許可權管理
13.4 小結
第14章 包
14.1 理解pl/sql包
14.1.1 什麼是包
14.1.2 包的優點
14.1.3 定義包規範
14.1.4 定義包體
14.1.5 調用包組件
14.1.6 編譯和調試包
14.1.7 查看包的原始碼
14.2 包的進階技術
14.2.1 包重載
14.2.2 包初始化
14.2.3 包的純度級別
14.2.4 包許可權設定
14.2.5 在包中使用游標
14.3 管理資料庫中的包
14.3.1 查看和刪除包
14.3.2 檢查包的依賴性
14.4 使用系統包
14.4.1 使用dbms_output包
14.4.2 使用dbms_pipe包
14.4.3 使用dbms_alter包
14.4.4 使用dbms_job包
14.5 小結
第15章 觸發器
15.1 理解觸發器
15.1.1 觸發器簡介
15.1.2 定義觸發器
15.1.3 觸發器的分類
15.2 dml觸發器
15.2.1 觸發器的執行順序
15.2.2 定義dml觸發器
15.2.3 調試觸發器
15.2.4 使用語句觸發器
15.2.5 使用old和new謂詞
15.2.6 使用referencing子句
15.2.7 使用when子句
15.2.8 使用條件謂詞
15.2.9 控制觸發順序
15.2.10 觸發器限制
15.2.11 使用自治事務
15.3 替代觸發器
15.3.1 替代觸發器的作用
15.3.2 定義替代觸發器
15.3.3 update與delete替代觸發器
15.3.4 嵌套表替代觸發器
15.4 系統事件觸發器
15.4.1 定義系統觸發器
15.4.2 觸發器事件列表
15.4.3 觸發器屬性列表
15.4.4 屬性函式使用示例
15.4.5 定義servererror觸發器
15.4.6 觸發器的事務與約束
15.5 觸發器的管理
15.5.1 查看觸發器原始碼
15.5.2 刪除和禁用觸發器
15.5.3 名稱與許可權的管理
15.6 小結
第16章 動態sql語句
16.1 理解動態sql語句
16.1.1 動態sql基礎
16.1.2 動態sql使用時機
16.1.3 本地動態sql
16.2 使用execute immediate
16.2.1 execute immediate語法
16.2.2 執行sql語句和pl/sql語句塊
16.2.3 使用綁定變數
16.2.4 使用returnning into子句
16.2.5 執行單行查詢
16.2.6 指定參數模式
16.3 多行查詢語句
16.3.1 使用open-for語句
16.3.2 使用fetch語句
16.3.3 關閉游標變數
16.4 使用批量綁定
16.4.1 批量execute immediate語法
16.4.2 使用批量fetch語句
16.4.3 使用批量forall語句
16.5 動態sql的使用建議
16.5.1 用綁定變數改善性能
16.5.2 使用重複占位符
16.5.3 使用調用者許可權
16.5.4 傳遞null參數
16.5.5 動態sql異常處理
16.6 小結
第4篇 pl/sql高級編程
第17章 面向對象編程
17.1 對象基礎
17.1.1 面向對象簡介
17.1.2 什麼是對象類型
17.1.3 pl/sql中對象的組成結構
17.2 定義對象類型
17.2.1 定義對象類型
17.2.2 定義對象體
17.2.3 定義屬性
17.2.4 定義方法
17.2.5 使用self關鍵字
17.2.6 定義構造函式
17.2.7 定義map和order方法
17.2.8 使用對象類型
17.2.9 使用嵌套對象類型
17.2.10 對象繼承
17.2.11 方法重載
17.3 管理對象表
17.3.1 定義對象表
17.3.2 插入對象表
17.3.3 檢索對象表
17.3.4 更新對象表
17.3.5 刪除對象表
17.3.6 創建對象列
17.3.7 使用對象視圖
17.4 管理對象類型
17.4.1 查看對象類型
17.4.2 修改對象類型
17.5 小結
第18章 pl/sql性能最佳化建議
18.1 了解pl/sql程式性能
18.1.1 影響性能常見原因
18.1.2 使用dbms_profiler包
18.1.3 使用dbms_trace包
18.2 pl/sql性能最佳化技巧
18.2.1 理解查詢執行計畫
18.2.2 聯接查詢的表順序
18.2.3 指定where條件順序
18.2.4 避免使用*符號
18.2.5 使用decode函式
18.2.6 使用where而非having
18.2.7 使用union 而非or
18.2.8 使用exists而非in
18.2.9 避免低效的pl/sql流程控制語句
18.2.10 避免隱式類型的轉換
18.3 小結
第5篇 pl/sql案例實戰
第19章 企業ic晶片欠料計算程式
19.1 系統設計
19.1.1 程式需求簡介
19.1.2 數據表er關係圖
19.1.3 系統總體流程
19.1.4 示例環境的搭建
19.2 系統編碼實現
19.2.1 創建包規範
19.2.2 初始化數據
19.2.3 獲取ic需求量
19.2.4 ic物料檢查函式
19.2.5 獲取已走貨ic數量
19.2.6 獲取銷售訂單數量
19.2.7 計算企業ic需求量
19.2.8 預備下次計算數據
19.2.9 定義調用主程式
19.3 調試和部署應用程式
19.3.1 編譯應用程式
19.3.2 調試應用程式
19.3.3 查看程式結果
19.3.4 部署到生產伺服器
19.4 小結
第20章 pl/sql郵件傳送程式
20.1 系統設計
20.1.1 程式需求簡介
20.1.2 使用utl_ smtp傳送電子郵件
20.1.3 系統總體流程
20.1.4 示例環境的搭建
20.2 系統編碼實現
20.2.1 認識mime類型
20.2.2 實現mime類型郵件傳送
20.2.3 定義包規範
20.2.4 郵件初始化函式xm_init
20.2.5 傳送並關閉連線xm_close
20.2.6 傳送html郵件
20.2.7 傳送郵件附屬檔案
20.2.8 傳送excel附屬檔案內容
20.2.9 寫入工作薄wb_header
20.2.10 寫入工作表xm_worksheet
20.2.11 寫入表格行xm_ws_row
20.2.12 寫入工作表尾信息
20.2.13 執行sql語句寫入工作表
20.3 編譯和部署應用程式
20.3.1 編譯與調試應用程式
20.3.2 驗證測試結果
20.3.3 部署到生產伺服器
20.4 小結

相關詞條

熱門詞條

聯絡我們