出版時(shí)間:2009-6 出版社:機(jī)械工業(yè)出版社 作者:(美)羅森維格(Gary Rosenzweig) 著 頁數(shù):598
Tag標(biāo)簽:無
前言
Oracle11g是一個(gè)功能極其強(qiáng)大,并且非常靈活的關(guān)系數(shù)據(jù)庫系統(tǒng)。為了基于Oracle設(shè)計(jì)有用的應(yīng)用程序,則有必要理解Oracle是如何操作存儲(chǔ)在本系統(tǒng)中數(shù)據(jù)的。PL/SQL就是這樣一種實(shí)現(xiàn)數(shù)據(jù)操作的重要工具,你不僅可以在Oracle內(nèi)部使用它,而且可以在自己的應(yīng)用程序中應(yīng)用它。在多種環(huán)境下PL/SQL都是非常有用的,并且在不同環(huán)境下,它具有不同的優(yōu)勢?! ”緯且槐久嫦蛉蝿?wù)的Oracle教材,適合于課堂教學(xué)或者自學(xué),特別適合于需要明確實(shí)例和練習(xí)的讀者。本書隨著Oracle版本發(fā)布而不斷推陳出新,目前已經(jīng)是第4版,主要面向于Oracle11g版本的開發(fā)和使用。本版與前幾版相比,其特點(diǎn)包括:內(nèi)容更新到Oracle11g,提供成百上千的范例。問題和答案,展示真實(shí)的實(shí)驗(yàn)場景等。 本書作者是Oracle系列圖書的暢銷作者,編寫了多本有關(guān)PL/SQL的圖書。本書不僅適用于PL/SQL的初學(xué)者,而且適合于Oracle開發(fā)人員參考。從根本上來說,本書是非常實(shí)用的,而且是非常寶貴的參考資源! 我們很榮幸能夠有機(jī)會(huì)承擔(dān)本書的翻譯工作。在翻譯過程中,經(jīng)常為一句話。一個(gè)術(shù)語進(jìn)行反復(fù)的討論,到處查找資料,力圖使本書的翻譯能正確。貼切地反映原文的意思,同時(shí)注意使句子。段落符合中國人的語言習(xí)慣。我們真摯地希望你能從本書中獲益,這是作者的初衷,也是我們的愿望! 本書由龔波。徐雅麗等組織翻譯,很多人為本書的翻譯和出版付出努力工作。參加本書翻譯的其他人員包括:張平。李平芳。馮軍。龔志翔。李志。姜南。任志宏。王強(qiáng)。劉剛等。 由于時(shí)間倉促,且譯者經(jīng)驗(yàn)和水平有限,譯文中難免有不妥之處,懇請讀者批評指正!
內(nèi)容概要
《OraclePL/SQL實(shí)例精解(原書第4版)》是一本逐步分解的,詳盡的PL/SQL編程教程,使用真實(shí)場景的試驗(yàn)、范例和練習(xí)來介紹讀者所需的PL/SQL編程技能,涵蓋Oracle 11g的最新特性。作者的寫作手法源自于在哥倫比亞大學(xué)教授PL/SQL編程技術(shù)的經(jīng)驗(yàn),深度探索PL/SQL編程技術(shù),融合自己的最佳實(shí)踐。使用《OraclePL/SQL實(shí)例精解(原書第4版)》,讀者可以快速掌握PL/SQL編程基本知識(shí),并建立工程化的概念,是市面上難得的PL/SQL教程。《OraclePL/SQL實(shí)例精解(原書第4版)》是一本集中式的解決方案范例教程,使用真實(shí)場景的試驗(yàn)。大量范例。練習(xí)來介紹所需的所有Oracle PL/SQL技能。這個(gè)版本完全面向Oracle 11g,覆蓋Oracle PL/SQL編程的所有基礎(chǔ)知識(shí),包括PL/SQL語法。程序控制結(jié)構(gòu),包,以及Oracle 11g重要改進(jìn)的觸發(fā)器。你可以通過《OraclePL/SQL實(shí)例精解(原書第4版)》獨(dú)立學(xué)習(xí)每個(gè)關(guān)鍵任務(wù),以及最重要的PL/SQL編程技術(shù)。通過實(shí)踐性的學(xué)習(xí)手段,可以分享作者的解決方案,這些解決方案提供深度探索視角和已證實(shí)的最佳實(shí)踐。每章后面的項(xiàng)目會(huì)綜合應(yīng)用所學(xué)的技術(shù),通過實(shí)踐活動(dòng)加深對知識(shí)的理解和掌握程度。《OraclePL/SQL實(shí)例精解(原書第4版)》的寫作手法充分體現(xiàn)了作者在哥倫比亞大學(xué)向?qū)I(yè)人士教授PL/SQL編程的經(jīng)驗(yàn)和技巧。通過這種逐步分解的講解方式,數(shù)據(jù)庫開發(fā)者和DBA的新手可以更快地獲職工程實(shí)踐經(jīng)驗(yàn);高級的PL/SQL程序員可以把《OraclePL/SQL實(shí)例精解(原書第4版)》作為實(shí)踐性解決方案的參考資源。
作者簡介
Benjamin Rosenzweig是Misys公司的軟件開發(fā)經(jīng)理。在此之前,他是Oracle公司的首席顧問。他的工作經(jīng)歷包括在尼泊爾的加德滿都市開發(fā)藏文-英文的電子字典,支持位于Goldman Sachs的演示中心,以及管理TIAA-CREF的交易系統(tǒng)。他是哥倫比亞大學(xué)計(jì)算機(jī)技術(shù)與應(yīng)用編程的講師,并被授予杰出教授獎(jiǎng)。他的主要著作為《Oracle Forms Developer:The Complete Video Course》和《Oracle Web Application Programming for PL/SQL Developers》。 Elenac Silvestrovac Rakhimov是Alea軟件的高級研發(fā)師和團(tuán)隊(duì)領(lǐng)導(dǎo)者。在企業(yè)和商業(yè)環(huán)境的數(shù)據(jù)庫開發(fā)經(jīng)驗(yàn)超過15年,涉及領(lǐng)域包括非贏利組織和華爾街,始終在哥倫比亞大學(xué)教授數(shù)據(jù)庫編程方面的課程。
書籍目錄
譯者序致謝作者簡介Oracle 11g中PL/SQL新特性簡介第1章 PL/SQL概念1.1 在客戶端/服務(wù)器架構(gòu)中PL/SQL的應(yīng)用1.1.1 使用PL/SQL匿名語句塊1.1.2 理解如何執(zhí)行PL/SQL1.2 SQL Plus中的PL/SQL1.2.1 使用替代變量1.2.2 使用DBMSOUTPUT.PUT LINE語句1.3 動(dòng)手試驗(yàn)第2章 通用編程語言基礎(chǔ)2.1 PL/SQL編程基礎(chǔ)2.1.1 充分利用PL/SQL語言組件2.1.2 充分利用PL/SQL變量2.1.3 合理使用PL/SQL保留字2.1.4 在PL/SQL中使用標(biāo)識(shí)符2.1.5 使用Anchored數(shù)據(jù)類型2.1.6 聲明和初始化變量2.1.7 理解語句塊、嵌套語句塊和標(biāo)簽的作用范圍2.2 動(dòng)手試驗(yàn)第3章 PL/SQL中的SQL3.1 在PL/SQL中使用DML3.1.1 變量初始化時(shí)使用SELECT INTO語法3.1.2 在PL/SQL語句塊中使用DML3.1.3 在PL/SQL語句塊中使用序列3.2 使用SAVEPOINT3.3 動(dòng)手試驗(yàn)第4章 條件控制:IF語句4.1 IF語句4.1.1 使用IF-THEN語句4.1.2 使用IF-THEN-ELSE語句4.2 ELSIF語句4.3 嵌套IF語句4.4 動(dòng)手試驗(yàn)第5章 條件控制:CASE語句5.1 CASE語句5.1.1 使用CASE語句5.1.2 使用搜索式CASE語句5.2 CASE表達(dá)式5.3 NULLIF和COALESCE函數(shù)5.3.1 NULLIF函數(shù)5.3.2 使用COALEESCE函數(shù)5.4 動(dòng)手試驗(yàn)第6章 迭代控制:第一部分6.1 簡單循環(huán)6.1.1 使用帶有EXIT條件的簡單循環(huán)6.1.2 使用帶有EXITWHEN條件的簡單循環(huán)6.2 WHILE循環(huán)6.3 數(shù)值型FOR循環(huán)6.3.1 與IN選項(xiàng)一起使用數(shù)值型FOR循環(huán)6.3.2 與REVERSE選項(xiàng)一起使用數(shù)值型FOR循環(huán)6.4 動(dòng)手試驗(yàn)第7章 迭代控制:第二部分7.1 CONTINUE語句7.1.1 使用CONTINUE語句7.1.2 使用CONTINUE WHEN語句7.2 嵌套循環(huán)7.3 動(dòng)手試驗(yàn)第8章 錯(cuò)誤處理和內(nèi)置異常8.1 處理錯(cuò)誤8.2 內(nèi)置異常8.3 動(dòng)手試驗(yàn)第9章 異常9.1 異常作用范圍9.2 用戶定義異常9.3 異常傳播9.3.1 理解異常的傳播方式9.3.2 再次拋出異常9.4 動(dòng)手試驗(yàn)第10章 異常:高級概念10.1 RAISE APPLICATION ERROR10.2 EXCEPTtON It~編譯指令10.3 SQLCODE和SQLERRM10.4 動(dòng)手試驗(yàn)第11章 游標(biāo)簡介11.1 游標(biāo)操作11.1.1 充分利用記錄類型11.1.2 處理顯式游標(biāo)11.1.3 充分利用游標(biāo)屬性11.1.4 集成所做的工作11.2 使用游標(biāo)FOR循環(huán)和嵌套游標(biāo)11.2.1 使用游標(biāo)FOR循環(huán)11.2.2 處理嵌套的游標(biāo)11.3 動(dòng)手試驗(yàn)第12章 高級游標(biāo)12.1 在游標(biāo)和復(fù)雜的嵌套游標(biāo)中使用參數(shù)12.1.1 在游標(biāo)中使用參數(shù)12.1.2 使用復(fù)雜的嵌套游標(biāo)12.2 FOR UPDATE和WHERECURRENT游標(biāo)第13章 觸發(fā)器13.1 什么是觸發(fā)器13.1.1 理解什么是觸發(fā)器13.1.2 使用BEFORE和AFTER觸發(fā)器13.2 觸發(fā)器類型13.2.1 使用行觸發(fā)器和語句觸發(fā)器13.2.2 使用INSTEAD OF觸發(fā)器13.3 動(dòng)手試驗(yàn)第14章 復(fù)合觸發(fā)器14.1 變異表問題14.2 復(fù)合觸發(fā)器14.3 動(dòng)手試驗(yàn)第15章集合15.1 PL/SQL表15.1.1 使用聯(lián)合數(shù)組15.1.2 使用嵌套表15.2 變長數(shù)組15.3 多層集合15.4 動(dòng)手試驗(yàn)第16章 記錄16.1 記錄類型16.1.1 使用基于表的和基于游標(biāo)的記錄16.1.2 使用用戶定義的記錄16.2 嵌套記錄16.3 記錄的集合16.4 動(dòng)手試驗(yàn)第17章 本地動(dòng)態(tài)SQL17.1 EXECUTE IMMEDIATE語句17.2 OPEN-FOR、FETCH和CLOSE語句17.3 動(dòng)手試驗(yàn)第18章 批量8QL18.1 FORAIL語句18.2 BULK COLLECT子句18.3 動(dòng)手試驗(yàn)第19章 過程19.1 創(chuàng)建過程19.1.1 創(chuàng)建過程19.1.2 從數(shù)據(jù)字典查詢有關(guān)過程的信息19.2 過程傳入和傳出參數(shù)19.3 動(dòng)手試驗(yàn)19.3.1 第一部分19.3.2 第二部分第20章 函數(shù)20.1 創(chuàng)建和使用函數(shù)20.1.1 創(chuàng)建存儲(chǔ)函數(shù)20.1.2 使用函數(shù)20.1.3 在SQL語句中調(diào)用函數(shù)20.1.4 編寫復(fù)雜的函數(shù)20.2 動(dòng)手試驗(yàn)第21章 包21.1 使用包的好處21.1.1 創(chuàng)建包規(guī)范21.1.2 創(chuàng)建包體21.1.3 調(diào)用存儲(chǔ)包21.1.4 創(chuàng)建私有對象21.1.5 創(chuàng)建包變量和游標(biāo)21.2 游標(biāo)變量21.3 擴(kuò)展包21.4 動(dòng)手試驗(yàn)第22章 存儲(chǔ)代碼22.1 收集有關(guān)存儲(chǔ)代碼的信息22.1.1 從數(shù)據(jù)字典收集存儲(chǔ)代碼信息22.1.2 使用RESTRICT REFERENCES編譯指令實(shí)現(xiàn)純度等級22.1.3 重載模塊22.2 動(dòng)手試驗(yàn)第23章 Oracle中對象類型23.1 對象類型23.1.1 使用對象類型23.1.2 使用集合和對象類型23.2 對象類型方法23.3 動(dòng)手試驗(yàn)第24章 Oracle提供的包24.1 使用Oracle提供的包來配置PL/SQL、訪問文件和調(diào)度作業(yè)24.1.1 使用UTL FILE來訪問文件24.1.2 使用DBMS-JOB來調(diào)度作業(yè)24.1.3 提交作業(yè)24.2 使用Oracle提供的包來生成解釋計(jì)劃和創(chuàng)建HTML頁面24.3 使用Oracle Web Toolkit來創(chuàng)建Web頁面附錄A PL/SQL格式化指南附錄B Student數(shù)據(jù)庫模式附錄C ANSI SQL標(biāo)準(zhǔn)附錄D 動(dòng)手試驗(yàn)部分的參考答案
章節(jié)摘錄
本章目標(biāo) 在本章中,可以學(xué)習(xí): ·創(chuàng)建過程。 ·過程傳入和傳出參數(shù)。 到目前為止,所編寫的都是匿名PL/SQL語句塊,作為腳本運(yùn)行,并且在運(yùn)行時(shí)由數(shù)據(jù)庫服務(wù)器編譯?,F(xiàn)在,有必要開始使用模塊化代碼。模塊化代碼是基于分散部件(模塊)構(gòu)造程序的一種方式,其中每個(gè)部件都完成滿足最終目標(biāo)的指定功能或者任務(wù)。只要模塊化代碼存在于數(shù)據(jù)庫服務(wù)器,就成為數(shù)據(jù)庫對象或者子程序,便于其他程序單元反復(fù)使用。為在數(shù)據(jù)庫中保存代碼,需要向服務(wù)器發(fā)送源代碼,以便于編譯為偽代碼,并存儲(chǔ)在數(shù)據(jù)庫中?! 〉?0章會(huì)討論存儲(chǔ)函數(shù)的基本概念。第21章會(huì)匯總不同的內(nèi)容?! ≡谠囼?yàn)19.1,你將了解更多有關(guān)存儲(chǔ)代碼和如何編寫存儲(chǔ)代碼(稱為過程)的方法。在試驗(yàn) 19.2中,將學(xué)習(xí)如何在過程中傳入和傳出參數(shù)。 1.模塊化代碼的好處 PL/SQL模塊是一個(gè)完整的邏輯單元。五種類型的PL/SQL模塊都是匿名語句塊,包括文本腳本(目前始終使用這樣類型)、過程、函數(shù)、包和觸發(fā)器?! ∈褂媚K化代碼存在兩個(gè)主要的好處:復(fù)用性好,易于管理?! 】梢栽赟QL*Plus或者很多其他工具中創(chuàng)建過程,以及創(chuàng)建和調(diào)試PL/SQL存儲(chǔ)代碼。如果使用SQL*Plus,需要在文本編輯器中編寫代碼,然后在SQL*Plus提示符下運(yùn)行?! ?.語句塊結(jié)構(gòu) 對于所有模塊類型而言,語句塊結(jié)構(gòu)都是相同的。首先是語句塊的頭部(僅適用于命名語句塊),然后是包含模塊名稱和參數(shù)列表(如果使用的話)?! ÷暶鞑糠钟勺兞?、游標(biāo)以及需要嵌套在下一部分的子語句塊組成?! ∧K的主要部分是可執(zhí)行部分,在此執(zhí)行所有的計(jì)算和處理工作。該部分包含可執(zhí)行代碼,如IF-THEN-ELSE、循環(huán)、對其他PL/SQL模塊的調(diào)用等?! ≡撃K的最后一部分是可選的異常處理部分,此處的代碼負(fù)責(zé)處理異常。
編輯推薦
掌握基本的PL/SQL概念和通用的編程語言基礎(chǔ)知識(shí),理解如何在PL/SQL代碼中使用SQL?! ∈褂脳l件式和迭代式程序控制技術(shù),包括新的CONTINUE和CONTINUE WHEN語句?! 「咝У靥幚礤e(cuò)誤和異常?! ∈褂糜螛?biāo)和觸發(fā)器,包括Oracle 11g新提供的,強(qiáng)大的復(fù)合觸發(fā)器?! ∈褂么鎯?chǔ)過程、函數(shù)和包來編寫其他程序可以執(zhí)行的模塊化代碼。 使用集合、對象-關(guān)系特性、本地動(dòng)態(tài)SQL、批量SQL和其他高級的PL/SQL特性。 非常方便的參考資源附錄:PL/SQL格式化指南,數(shù)據(jù)庫模式范例、ANSI SQL標(biāo)準(zhǔn)參考等。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Oracle PL/SQL實(shí)例精解 PDF格式下載