目錄
賀辭
序
前言
第1章 PL/SQL 簡介
1.1為什麼使用PL/SSQL
1.1.1客戶服務器模式
1.1.2 標準
1.2PL/SQL的功能特性
1.2.1塊結構
1.2.2 變量和類型
1.2.3循環結構
1.3本書使用的約定
1.3.1PL/SQL和Oracle版本
1.3.2 Oracle文檔
1.3.3在綫代碼
1.4示例樣錶
1.5小結
第2章 PL/SQL基礎
2.1PL/SQL塊
2.2 詞法單位
2.2.1標識符
2.2.2 分界符
2.2.3文字
2.2.4注釋
2.3變量聲明
2.3.1聲明語法
2.3.2變量初始化
2.4 PL/SQL類型
2.4.1標量類型(ScalarType)
2.4.2 復閤類型
2.4.3引用類型
2.4.4 LOB類型
2.4.5使用%TYPE
2.4.6 用戶定義子類型
2.4.7 在數據類型之間進行轉換
2.4.8變量作用域和可見性
2.5錶達式和運算符
2.5.1賦值
2.5.2 錶達式
2.6PL/SQL控製結構
2.6.1IF-IHEN-ELSE
2.6.2循環
2.6.3GOTO和標號
2.6.4pragma
2.7PL/SQL風格指南
2.7.1注釋風格
2.7.2變量名風格
2.7.3大寫風格
2.7.4縮進風格
2.7.5常見風格
2.8 小結
第3章 記錄和錶
3.1PL/SQL記錄
3.1.1記錄賦值
3.1.2 使用%ROWTYPE
3.2錶
3.2.1錶和數組
3.2.2 錶屬性
3.2.3使用PL/SQL錶的指南
3.3小結
第4章 在PL/SQ L中使用SQL
4.1 SQL語句
4.2在PL/SQL中使用DML
4.2.1SELECT
4.2.2INSERT
4.2.3UPDATE
4.2.4DELETE
4.2.5WHERE子句
4.2.6錶引用
4.2.7 數據庫鏈接
4.2.8替代名(Synonym)
4.3僞列
4.3.1CURRVAL 和NEXTVAL
4.3.2 LEVEL
4.3.3ROWID
4.3.4ROWNUM
4.4 CRANT、REVOKE和權限
4.4.1 對象和係統權限
4.4.2GRANT和REVOKE
4.4.3 角色
4.5事務控製
4.5.1 COMMIT和ROLLBACK
4.5.2 保存點
4.5.3 事務和塊
4.6小結
第5章 內置SQL 函數
5.1前言
5.2字符函數――返迴字符值
5.2.1CHR
5.2.2 CONCAT
5.2.3INITCAP
5.2.4LOWER
5.2.5 LPAD
5.2.6LTRIM
5.2.7NLS_INITCA P
5.2.8NLS LOW ER
5.2.9 NLS_UPPER
5.2.10 REPLACE
5.2.11RPAD
5.2.12 RTRIM
5.2.13SOU NDEX
5.2.14 SUBSTR
5.2.15 SUBS TRB
5.2.16TRANSLATE
5.2.17UPPER
5.3字符函數―――返迴數字值
5.3.1ASCII
5.3.2INSIR
5.3.3INSTRB
5.3.4 LENGTH
5.3.5LENGTHB
5.3.6NLSSORT
5.4 數字函數
5.4.1ABS
5.4.2 ACOS
5.4.3ASIN
5.4.4 ATAN
5.4.5 ATAN2
5.4.6CEIL
5.4.7COS
5.4.8 COSH
5.4.9 EXP
5.4.10FLOOR
5.4.11LN
5.4.12LOG
5.4.13 MOD
5.4.14 POWER
5.4.15 ROUND
5.4.16SIGN
5.4.17 SIN
5.4.18SINH
5.4.19SQRT
5.4.20TAN
5.4.21TANH
5.4.22 TRUNC
5.5 日期函數
5.5.1ADD MONTHS
5.5.2LAST DAY
5.5 .3MONTHS BETW EEN
5.5.4NEW_TIME
5.5.5NEXT_DAY
5.5.6 ROUND
5.5.7SYSDATE
5.5.8TRUNC
5.5.9日期算術
5.6 轉換函數
5.6.1CHARTOR OWID
5.6.2CONVERT
5.6.3HEXTORAW
5.6.4 RAW TOHEX
5.6.5ROWIDTOCHAR
5.6.6TO_CHAR(dates)
5.6.7TO _CHAR (labels )
5.6.8TO CHAR (numbers )
5.6.9 TO_DATE
5.6.10 TO _LABEL
5.6.11TO MUL TI BYTE
5.6.12 TO_NUMBER
5.6.13 TO _SINGLE_BYTE
5.7 分組函數
5.7.1AVG
5.7.2 COUNT
5.7.3 GLB
5.7.4LUB
5.7.5MAX
5.7.6MIN
5.7.7S1TDDEV
5.7.8SUM
5.7.9VARIANCE
5.8其他函數
5.8.1BFILENAME
5.8.2DECODE
5.8.3DUMP
5.8.4EMPTY_CLOB/ EMPTY BLOB
5.8.5GREATEST
5.7.6 GREATEST_LB
5.8.7 LEAST
5.8.8LEAST _UB
5.8.9NVL
5.8.10 UID
5.8.11USER
5.8.12 USERENV
5.8.13 VSIZE
5.9使用PL/SQL:將數字作為文本單字
進行打印
5.10小結
第6章 遊標
6.1什麼是遊標?
6.1.1處理顯式遊標
6.1.2處理隱式遊標
6.2遊標提取循環
6.2.1簡單循環
6.2.2WHILE循環
6.2.3遊標式FOR循環
6.2.4NO DATA FOUND和
%NOTFOUND
6.2.5SELECTFORUPDATE遊標
6.3遊標變量
6.3.1聲明遊標變量
6.3.2為遊標變量分配存儲空間
6.3.3打開查詢的遊標變量
6.3.4關閉遊標變量
6.3.5遊標變量示例1
6.3.6遊標變量示例2
6.3.7使用遊標變量的限製
6.4小結
第7章 子程序:過程和函數
7.1創建過程和函數
7.1.1創建過程
7.1.2創建函數
7.1.3在子程序中進行異常處理
7.1.4刪除過程和函數
7.2子程序位置
7.2.1內置子程序(stored Subprogram)
7.2.2本地子程序
7.3子程序依賴性
7.4權限和內置子程序
7.4.1EXECUTE權限
7.4.2內置子程序和角色
7.5小結
第8章 包
8.1包
8.1.1包規範(Package Speci fication)
8.1.2包主體(Package Body )
8.1.3包和作用域
8.1.4重載包裝子程序
8.1.5包初始化
8.1.6包和相關性
8.2 在SQL語句中使用內置函數
8.2.1純度級彆
8.2.2RESTRICT REFERENCES
8.2.3缺省參數
8.3使用PL/SQL:PL/ SQL數據模式輸
齣程序
8.4 小結
第9章 觸發器
9.1創建觸發器
9.1.1觸發器組件
9.1.2觸發器和數據字典
9.1.3觸發器點火次序
9.1.4在行級觸發器中使用:old和:
9.1.5使用觸發器謂詞:INSERTING、
UPDATING 和DELET ING
9.2變化錶
9.2.1變化錶示例
9.2.2消除變化錶錯誤
9.3使用PL/SQL:實現級聯更新
9.3.1實用程序的內容
9.3.2工作原理
9.4小結
第10章 錯誤處理
10.1什麼是異常情態
10.1.1聲明異常情態
10.1.2觸發異常情態
10.1.3處理異常情態
10.1.4EXCEPTION_INITPragma
10.1.5使用RAI SEAPPLICAT ION
ERROR
10.2異常情態傳播
10.2.1在執行部分引發的異常情態
10.2.2在聲明部分引發的異常情態
10.2.3在異常處理部分引發的
異常情態S
10.3異常處理指南
10.3.1異常情態的作用域
10.3.2避免未處理的異常情態
10.3.3屏蔽錯誤發生的位置
10.4使用PL/SQL:常用錯誤處理模塊
10.5小結
第11章 對象
11.1背景介紹
11.1.1麵嚮對象程序設計基礎
11.1.2對象關係型數據庫
11.2 對象類型
11.2.1定義對象類型
11.2.2聲明和初始化對象
11.2.3方法
11.2.4更改和刪除類型
11.2.5對象依賴性
11.3數據庫中的對象
11.3.1對象位置
11.3.2在DML語句中使對象
11.3.3 MAP和ORDER方法
11.4 小結
第12章 集閤(Collections)
12.1嵌套錶
12.1.1聲明嵌套錶
12.1.2數據庫中的嵌套錶
12.1.3嵌套錶和索引錶
12.2Varrays
12.2.1聲明Varray
12.2.2數據庫中的Varray
12.2.3 Varray 和嵌套錶
12.3集閤方法
12.3.1EXISTS
12.3.2COUNT
12.3.3LIMIT
12.3.4FIRST和LAST
12.3.5 NEXT和PRIOR
12.3.6EXTEND
12.3.7TRIM
12.3.8DELETE
12.4小結
第13章 PL/SQL執行環境
13.1不同的PL/SQL引擎
13.2服務器端PL/SQL
13.2.1SQL Plus
13.2.2Oracle預編譯器
13.2.3OCI
13.2.4SQL-Stat ion
13.3客戶端PL/SQL
13.3.1為什麼提供客戶端引擎
13.3.2OracleForms
13.3 .3ProcedureBuilder
13.4 PL/ SQL Wra pper
13.4.1 運行Wra pper
13.4.2 輸入和輸齣文件
13.4.3檢查語法和語義
13.4.4 Wrapper使用指南
13.5小結
第14章 測試和調試
14.1問題診斷
14.1.1調試指南
14.1.2Debug 包
14.2插入測試錶
14.3DBMS OUTP UT
14.3.1TheDBMS_OUTPUT
14.3.2 問題2
14.4PL/SQL調試器
14.5Proced ureBuilder
14.6SQL-Station
14.7 IProcedureBuilder 和SQL-Station之間
的比較
14.8程序設計方法
14.8.1模塊化程序設計
14.8.2 自頂嚮下設計
14.8.3數據抽象
14.9小結
第15章 動態PL/SQL
15.1前言
15.1.1靜態與動態SQL
15.1.2DBMS_SQL概述
15.2執行非查詢DML和DDL語句
15.2.1打開遊標
15.2.2分析語句
15.2.3聯編輸入變量
15.2.4執行語句
15.2.5關閉遊標
15.2.6示例
15.2.7執行DDL語句
15.2.8執行查詢
15.2.9分析語句
15.2.10 定義輸齣變量
15.2.11 提取行
15.2.12 將結果返迴給PL/SQL變量
15.2.13示例
15.3 執行 PL/ SQL
15.3.1分析語句
15.3.2檢索輸齣變量的取值
15.3.3示例
15.3.4 使用out value_size
15.4使用PL/SQL:執行任意內置過程
15.5對PL/ SQL 8.0 的DBMS_SQL 增強
15.5.1分析大型SQL串
15.5.2DBMS_SQL數組處理
15.5.3描述選擇列錶
15.6其他過程
15.6.1提取LONG型數據
15.6.2 其他的錯誤函數
15.7使用PL/SQL:將LONG變量寫入
FILE變量中
15.8權限和DBMS_SQL
15.8.1DBMS_SQL所需的權限
15.8.2 角色和DBMS_SQL
15.9在DBMS_SQL和其他動態方法之間
進行比較
15.9.1描述選擇列錶
15.9.2數組處理
15.9.3關於LONG型數據的單步操作
15.9.4 接口差異
15.10提示和技巧
15.10.1重用遊標
15.10.2權限
15.10.3DDL操作和掛起
15.11小結
第16章 會話間通信
16.1 DBMS PIPE
16.1.1發送消息
16.1.2接收消息
16.1.3創建和管理管道
16.1.4權限和安全性
16.1.5建立通信協議
16.1.6 示例
16.2DBMS ALERT
16.2.1發送警報
16.2.2接收警報
16.2.3其他過程
16.2.4警報和數據字典
16.3比較DBMS_PIPE和DBMSALERT
16.4小結
第17章 Oracle高級排隊機製
17.1前言
17.1.1AdvancedQueuing的組件
17.1.2AdvancedQueuing的實現
17.2隊列操作
17.2.1支持類型
17.2.2ENQUEUE
17.2.3DEQUEUE
17.3隊列管理
17.3.1DBMS_AQADM子程序
17.3.2隊列權限
17.3.3隊列和數據字典
17.4綜閤示例
17.4.1創建隊列和隊列錶
17.4.2簡單的Enqueue和Dequeue
17.4.3清除隊列
17.4.4按優先級執行enqueue和
dequeue
17.4.5按關聯標識符或消息標識符執
行enqueue和dequeue
17.4.6 瀏覽隊列
17.4.7使用異常情態隊列
17.4.8 刪除隊列
17.5小結
第18章 數據庫作業和文件I/O
18.1數據庫作業
18.1.1後颱進程
18.1.2運行作業
18.1.3失效作業(BrokenJobs)
18.1.4刪除作業
18.1.5修改作業
18.1.6查看數據字典中的作業
18.1.7作業執行環境
18.2文件I/O
18.2.1安全性
18.2.2由UTL_FILE所引發的異常情態
18.2.3打開和關閉文件
18.2.4文件輸齣
18.2.5文件輸入
18.2.6示例
18.3小結
第19章 Oracle的WebServer程序
19.1WebServer環境
19.1.1PL/SQL代理
19.1.2指定過程參數
19.2PL/SQLWeb工具箱
19.2.1HTP和HTF
19.2.2OWA_UTIL
19.2.3OWA_IMAGE
19.2.4OWA_COOKIE
19.3用於OWA過程的開發環境
19.3.1OWA_UTIL.SHOWPAGE
19.3.2SQL-StationCoder
19.4小結
第20章 外部過程
20.1什麼是外部過程
20.1.1必需的步驟
20.1.2參數映射
20.1.3外部函數和包裝過程
20.2數據庫的迴調
20.2.1服務例程
20.2.2在外部過程中執行SQL
20.3提示、指南和限製
20.3.1調試外部過程
20.3.2指南
20.3.3限製
20.4小結
第21章 大型對象
21.1什麼是LOB
21.1.1LOB存儲
21.1.2在DML中使用LOB
21.2操縱BFILE
21.2.1目錄
21.2.2打開和關閉BFILE
21.2.3在DML中使用BFILE
21.3DBMS_LOB包
21.3.1DBMS_LOB例程
21.3.2由DBMS_LOB例程引發的異
常情態
21.3.3DBMS_LOB和OCI
21.4使用PL/SQL:將LONG型數據復
製到LOB變量中
21.5小結
第22章 性能和調整
22.1共享池
22.1.1Oracle實例的結構
22.1.2共享池的工作原理
22.1.3估計共享池的大小
22.1.4插入對象
22.2SQL語句調整
22.2.1確定執行方案
22.2.2使用方案
22.3網絡問題
22.3.1使用客戶端PL/SQL
22.3.2避免不必要的重新分析
22.3.3數組處理
22.4小結
附錄A PL/SQL保留字
附錄B 包使用指南
B.1創建包
B.2包說明
附錄C PL/SQL特性的字匯錶
附錄D 數據字典
D.1什麼是數據字典
D.2All/User/DBA字典視圖
D.3其他數據字典
D.4 dbms_alert_info
D.5齣ct_columns
· · · · · · (
收起)