出版時間:2005-11 出版社:第1版 (2005年11月1日) 作者:俄曼 頁數(shù):668 字?jǐn)?shù):1082000
Tag標(biāo)簽:無
內(nèi)容概要
本書系Oracle權(quán)威專家的精心力作,全面介紹了PL/SQL的基礎(chǔ)知識、特性、功能和使用技巧,解釋了嵌入式程序的語義和語法,指導(dǎo)讀者創(chuàng)建動態(tài)客戶端/服務(wù)器應(yīng)用程序,并實(shí)現(xiàn)可與Oracle數(shù)據(jù)庫交互、能執(zhí)行復(fù)雜計(jì)算和錯誤處理的PL/SQL程序。本書不僅內(nèi)容豐富,結(jié)構(gòu)合理,而且提供了大量的代碼和圖例,以幫助讀者在實(shí)踐中提升自己的PL/SQL編程技能。
作者簡介
Scott Urman Oracle Diagnostic and Defect Resolution小組的首席工程師,并曾擔(dān)任Oracle全球技術(shù)支持服務(wù)的高級分析師。Uman還著有多本是暢銷書,廣受讀者好評,如Oracle 8i Advanced PL/Programming等。
書籍目錄
第Ⅰ部分 緒論 第1章 PL/SQL入門 1.1 程序設(shè)計(jì)語言簡介 1.2 什么是PL/SQL 1.2.1 結(jié)構(gòu)化查詢語言SQL 1.2.2 關(guān)系數(shù)據(jù)庫簡介 1.2.3 PL/SQL與SQL 1.2.4 PL/SQL與Java 1.2.5 PL/SQL的歷史和功能 1.3 語言基礎(chǔ) 1.3.1 匿名塊(Anonymous Blocks) 1.3.2 過程(Procedure) 1.3.3 函數(shù)(Function) 1.3.4 包(Package) 1.3.5 對象類型(Object Type) 1.4 PL/SQL語句的處理 1.4.1 解釋執(zhí)行 1.4.2 本地編譯 1.5 如何充分使用本書 1.5.1 讀者范圍 1.5.2 目標(biāo) 1.5.3 范圍 1.5.4 先決條件 1.5.5 格式約定 1.5.6 示例 1.6 小結(jié) 第2章 使用SQL*Plus和JDeveloper 2.1 SQL*Plus 2.1.1 連接數(shù)據(jù)庫實(shí)例 2.1.2 測試連接 2.1.3 使用SQL*Plus 2.1.4 更改SQL*Plus會話設(shè)置 2.1.5 從文件中運(yùn)行腳本 2.1.6 使用SQL*Plus和PL/SQL在屏幕上輸出內(nèi)容 2.2 JDeveloper 2.2.1 JDeveloper的安裝 2.2.2 在JDeveloper中使用PL/SQL 2.3 小結(jié) 第3章 PL/SQL基礎(chǔ)知識 3.1 PL/SQL代碼塊 3.1.1 代碼塊的基本結(jié)構(gòu) 3.1.2 匿名塊 3.1.3 命名塊 3.1.4 嵌套塊 3.1.5 觸發(fā)器 3.1.6 對象類型 3.2 PL/SQL的語言規(guī)則與約定 3.3 PL/SQL的數(shù)據(jù)類型 3.3.1 標(biāo)量類型 3.3.2 字符/字符串類型 3.3.3 數(shù)值類型 3.3.4 布爾類型 3.3.5 日期/時間類型 3.3.6 復(fù)合類型 3.3.7 引用類型 3.3.8 LOB類型 3.4 使用變量 3.4.1 %TYPE 3.4.2 %ROWTYPE 3.4.3 變量的生存范圍 3.4.4 綁定變量 3.5 代碼隱藏功能 3.6 表達(dá)式 3.6.1 賦值操作符 3.6.2 串聯(lián)操作符 3.7 程序流的控制 3.7.1 條件判斷語句 3.7.2 循環(huán)執(zhí)行 3.7.3 使用GOTO語句導(dǎo)航代碼的執(zhí)行順序 3.8 小結(jié) 第4章 PL/SQL與SQL 4.1 事務(wù)處理 4.1.1 事務(wù)與鎖定 4.1.2 自治事務(wù) 4.1.3 事務(wù)設(shè)置 4.2 數(shù)據(jù)檢索 4.2.1 SQL SELECT語句 4.2.2 模式匹配 4.2.3 信息檢索 4.3 游標(biāo) 4.3.1 游標(biāo)的工作過程 4.3.2 顯式游標(biāo) 4.3.3 隱式游標(biāo) 4.3.4 游標(biāo)變量 4.3.5 游標(biāo)子查詢 4.3.6 打開游標(biāo) 4.4 DML與DDL 4.4.1 預(yù)編譯 4.4.2 使用DML控制數(shù)據(jù) 4.4.3 動態(tài)SQL簡介 4.5 ROWID和ROWNUM的用法 4.5.1 ROWID 4.5.2 ROWNUM 4.6 內(nèi)置的SQL函數(shù) 4.6.1 字符函數(shù) 4.6.2 數(shù)字函數(shù) 4.6.3 日期函數(shù) 4.6.4 轉(zhuǎn)換函數(shù) 4.6.5 錯誤函數(shù) 4.6.6 其他函數(shù) 4.7 小結(jié) 第5章 記錄 5.1 記錄概述 5.2 記錄的使用方法 5.2.1 記錄類型的定義 5.2.2 以形參的形式定義記錄類型 5.2.3 以形參的形式定義和使用對象類型 5.2.4 從函數(shù)中返回記錄類型的值 5.2.5 將記錄類型作為函數(shù)返回值的定義和使用方法 5.2.6 將對象類型作為函數(shù)返回值的定義和使用方法 5.2.7 檢驗(yàn)記錄類型的工作過程 5.3 小結(jié) 第6章 集合 6.1 集合簡介 6.2 集合的使用方法 6.2.1 Varrays集合的使用方法 6.2.2 嵌套表的使用方法 6.2.3 聯(lián)合數(shù)組的使用方法 6.3 Oracle 10g的集合API 6.3.1 COUNT方法 6.3.2 DELETE方法 6.3.3 EXISTS方法 6.3.4 EXTEND方法 6.3.5 FIRST方法 6.3.6 LAST方法 6.3.7 LIMIT方法 6.3.8 NEXT方法 6.3.9 PRIOR方法 6.3.10 TRIM方法 6.4 小結(jié) 第7章 錯誤處理 7.1 什么是異常 7.1.1 異常的聲明 7.1.2 異常的引發(fā) 7.1.3 異常的處理 7.1.4 EXCEPTION_INIT編譯器指令 7.1.5 RAISE_APPLICATION_ERROR的使用方法 7.2 異常的傳播 7.2.1 在執(zhí)行部分引發(fā)的異常 7.2.2 在聲明部分引發(fā)的異常 7.2.3 在異常部分引發(fā)的異常 7.3 使用異常的準(zhǔn)則 7.3.1 異常的范圍 7.3.2 避免未處理異常 7.3.3 標(biāo)識發(fā)生錯誤的位置 7.3.4 異常與事務(wù) 7.3.5 異常代碼的編寫風(fēng)格 7.4 小結(jié) 第8章 過程、函數(shù)和包的創(chuàng)建 8.1 過程和函數(shù) 8.1.1 子程序的創(chuàng)建 8.1.2 子程序的參數(shù) 8.1.3 CALL語句 8.1.4 過程和函數(shù)的比較 8.2 包 8.2.1 包規(guī)范 8.2.2 包主體 8.2.3 包和范圍 8.2.4 包子程序的重載 8.2.5 包的初始化 8.3 小結(jié) 第9章 過程、函數(shù)和包的應(yīng)用 9.1 子程序的存儲位置 9.1.1 存儲子程序與數(shù)據(jù)字典 9.1.2 局部子程序 9.1.3 存儲子程序與局部子程序 9.2 存儲子程序和包的注意事項(xiàng) 9.2.1 子程序的依賴關(guān)系 9.2.2 包的運(yùn)行時狀態(tài) 9.2.3 權(quán)限與存儲子程序 9.3 存儲函數(shù)與SQL語句 9.3.1 單值函數(shù) 9.3.2 多值函數(shù) 9.4 本地編譯 9.5 在共享池中駐留 9.5.1 KEEP過程 9.5.2 UNKEEP過程 9.5.3 SIZES過程 9.5.4 ABORTED_REQUEST_THRESHOLD過程 9.5.5 PL/SQL Wrapper 9.6 小結(jié) 第10章 數(shù)據(jù)庫觸發(fā)器 10.1 觸發(fā)器的分類 10.1.1 DML觸發(fā)器 10.1.2 Instead-of觸發(fā)器 10.1.3 系統(tǒng)觸發(fā)器 10.2 創(chuàng)建觸發(fā)器 10.2.1 創(chuàng)建DML觸發(fā)器 10.2.2 創(chuàng)建Instead-of觸發(fā)器 10.2.3 創(chuàng)建系統(tǒng)觸發(fā)器 10.2.4 觸發(fā)器的其他一些問題 10.2.5 觸發(fā)器與數(shù)據(jù)字典 10.3 變異表 10.3.1 變異表示例 10.3.2 變異表錯誤的工作區(qū) 10.4 小結(jié) 第Ⅱ部分 PL/SQL的高級特性 第11章 會話間通信 11.1 會話間通信簡介 11.1.1 需要永久性或臨時性的結(jié)構(gòu)體 11.1.2 不需要永久性或臨時性的結(jié)構(gòu)體 11.2 DBMS_PIPE內(nèi)置包 11.2.1 DBMS_PIPE包簡介 11.2.2 DBMS_PIPE包的定義 11.2.3 DBMS_PIPE包的使用 11.3 DBMS_ALERT內(nèi)置包 11.3.1 DBMS_ALERT包簡介 11.3.2 DBMS_ALERT包的定義 11.3.3 DBMS_ALERT包的使用 11.4 小結(jié) 第12章 外部例程 12.1 外部過程簡介 12.2 外部例程的工作過程 12.2.1 定義exproc的結(jié)構(gòu) 12.2.2 定義extproc的Oracle NetServices配置 12.2.3 定義多線程的外部過程代理 12.2.4 C語言共享庫的工作過程 12.2.5 Java共享庫的工作過程 12.3 解決共享庫的錯誤 12.3.1 偵聽器或環(huán)境的配置 12.3.2 共享庫或PL/SQL庫包裝器的配置 12.4 小結(jié) 第13章 動態(tài)SQL 13.1 動態(tài)SQL簡介 13.2 本地動態(tài)SQL使用方法 13.2.1 不帶綁定變量的DDL和DML語句的使用方法 13.2.2 使用DML和已知的綁定變量列表 13.2.3 DQL的使用方法 13.3 Oracle的DBMS_SQL內(nèi)置包的使用方法 13.3.1 不帶綁定變量的DDL和DML語句的使用方法 13.3.2 帶綁定變量已知列表的DML語句的使用方法 13.3.3 DQL的使用方法 13.4 小結(jié) 第14章 對象概覽 14.1 面向?qū)ο蟪绦蛟O(shè)計(jì)簡介 14.2 對象類型概覽 14.3 創(chuàng)建對象類型 14.3.1 對象類型規(guī)范 14.3.2 對象類型主體 14.4 對象類型繼承 14.5 屬性鏈 14.6 更改 14.7 小結(jié) 第15章 數(shù)據(jù)庫中的對象 15.1 數(shù)據(jù)庫中對象的簡介 15.1.1 對象表 15.1.2 列對象 15.1.3 對象視圖 15.2 使用SQL和PL/SQL訪問持久對象 15.2.1 對象表 15.2.2 訪問列對象 15.2.3 訪問對象視圖 15.2.4 與對象相關(guān)的函數(shù)和操作符 15.3 維護(hù)持久對象 15.4 小結(jié) 第16章 大對象 16.1 大對象簡介 16.1.1 特性比較 16.1.2 LOB的種類 16.1.3 LOB的結(jié)構(gòu) 16.1.4 內(nèi)部LOB的存儲 16.1.5 外部LOB的存儲 16.1.6 臨時LOB的存儲 16.1.7 從LONG到LOB的移植 16.2 LOB和SQL 16.2.1 操作內(nèi)部持久LOB的SQL 16.2.2 外部LOB--BFILE 16.3 LOB和PL/SQL 16.3.1 DBMS_LOB 16.3.2 APPEND 16.3.3 COMPARE 16.3.4 CONVERTTOBLOB/CONVERTOCLOB 16.3.5 BFILE_FILEEXISTS 16.3.6 BFILE_FILEOPEN/OPEN 16.3.7 BFILE_FILEISOPEN/ISOPEN 16.3.8 BFILE_FILECLOSE /CLOSE/FILECLOSEALL 16.3.9 LOADFROMFILE/LOAD-CLOBFROMFILE/LOAD-BLOBFROMFILE 16.4 執(zhí)行性能 16.4.1 RETURNING子句 16.4.2 索引 16.5 小結(jié) 第17章 任務(wù)調(diào)度 17.1 DBMS_JOB簡介 17.1.1 SUBMIT過程 17.1.2 BROKEN過程 17.1.3 RUN過程 17.1.4 CHANGE過程 17.1.5 REMOVE過程 17.2 Oracle調(diào)度器 17.2.1 術(shù)語 17.2.2 DBMS_SCHEDULER的使用方法 17.2.3 從DBMS_JOB移植 17.2.4 刪除作業(yè) 17.3 小結(jié) 第Ⅲ部分 附錄 附錄A PL/SQL的保留字 附錄B 內(nèi)置包簡介
編輯推薦
《Oracle Database 10g PL/SQL程序設(shè)計(jì)》是一部針對0racle數(shù)據(jù)庫技術(shù)開發(fā)的指導(dǎo)用書,內(nèi)容主要涉及PL/SQL入門、使用SQL*Plus和JDeveloper、PL/SQL基礎(chǔ)知識、PL/SQL與SQL、記錄、集合、錯誤處理、過程、函數(shù)和包的創(chuàng)建等內(nèi)容。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Oracle Database 10g PL/SQL程序設(shè)計(jì) PDF格式下載