1. 程式人生 > >Oracle+PL+SQL從入門到精通.丁士鋒.清華大學出版社.2012

Oracle+PL+SQL從入門到精通.丁士鋒.清華大學出版社.2012

for語句 11.2 第7章 mage delete 傳遞方式 erro map bulk




技術分享圖片


技術分享圖片




\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

\t第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 小結

Oracle+PL+SQL從入門到精通.丁士鋒.清華大學出版社.2012