精通Oracle PL/SQL
內容介紹
對於Oracle技術人員而言,怎么強調掌握PL/SQL的重要性都不過分。但是,真正精通PL/SQL絕非易事。事實上,在現有的Oracle應用程式中充斥著太多質量不佳的PL/SQL代碼,它們要么沒有充分利用Oracle特有的功能,要么是在誤用或者濫用。這種現象導致了許多對PL/SQL本身能力不公正的批評。
本書由全球Oracle技術專家組織OakTable Network的多位大師聯手編寫,是為PL/SQL正名的名著。與市面上許多PL/SQL圖書只是紙上談兵、局限於語法和功能本身不同,本書從實戰出發,講述如何正確、充分地運用語言特性,除了PL/SQL的基本功能之外,也包括數據的高效處理、安全、觸發器、高效的調試技術等。作者在講解每一個特性 時都輔以經過實戰檢驗的示例,更與讀者分享了大量多年積累的獨家經驗。有本書在手,你將學會如何充分發揮PL/SQL的巨大潛能,編寫出可靠、高效且易於 維護的一流程式。作者介紹
Connor McDonald 世界著名的Oracle技術專家,Oracle認證專家,具有十多年的Oracle系統開發經驗,以精深的PL/SQL造詣享譽業界。他的個人網站www.oracledba.co.uk是極具影響的Oracle技術資源。
Chaim KatzOracle認證專家,擅長資料庫管理和PL/SQL開發,為各種Oracle技術期刊寫過大量文章。
Christopher BeckOracle公司資深技術專家,專攻核心資料庫技術和Web套用開發。除本書外,他還與Joel R. Kallman和Tom Kyte等人合著了暢銷書Beginning Oracle Programming。
Joel R. KallmanOracle公司軟體開發總監。
David C. Knox世界著名的Oracle安全專家,Oracle公司Solution Engineering集團的高級總監。作品目錄
4.6.2將集合作為參數傳遞4.7PL/SQL中的事務處理4.8自治事務 4.8.1在觸發器中避免變異表錯誤 4.8.2作為事務的一部分執行DDL 4.8.3審計SELECT語句 4.8.4回滾後保持審計4.9小結第5章PL/SQL最佳化技巧5.1儘量減少解析和記憶體消耗 5.1.1觸發器內的代碼 5.1.2調用者許可權過程 5.1.3解放思想:使用管道函式5.2數據類型:提示和技巧 5.2.1關聯數組 5.2.2集合 5.2.3使用基於記錄的DML時的問題5.3調用PL/SQL 5.3.1使用PL/SQL來顯露數據模型,而不是擴展它 5.3.2動態調用PL/SQL5.4PL/SQL中的SQL 5.4.1SQL函式和遞歸SQL 5.4.2高效的動態SQL5.5小結第6章觸發器6.1觸發器概念 6.1.1觸發器類型 6.1.2事件屬性 6.1.3觸發器計時 6.1.4多個相似的觸發器 6.1.5DML行前與行後觸發器的性能 6.1.6許可權 6.1.7觸發器和數據字典 6.1.8觸發器依賴性 6.1.9觸發器狀態 6.1.10觸發器失敗 6.1.11觸發器的局限性6.2DML觸發器 6.2.1存儲審計信息 6.2.2實現轉變約束 6.2.3生成代理鍵6.3替代觸發器6.4變異表 6.4.1延時處理方案 6.4.2變異表和自治事務 6.4.3其他變異表錯誤6.5數據審計6.6表的多版本6.7Oracle流6.8作業佇列(臨時事件觸發器) 6.8.1作業調度 6.8.2作業和DML觸發器 6.8.3作業與共享池 6.8.4作業錯誤6.9 DDL觸發器 6.9.1DDL完整性觸發器 6.9.2DDL審計跟蹤6.10資料庫事件觸發器6.11登錄觸發器 6.11.1伺服器錯誤觸發器 6.11.2掛起事件觸發器 6.11.3錯誤和資料庫事件觸發器6.12別“重造輪子”6.13小結第7章DBA包7.1警告檔案包 7.1.1包結構 7.1.2警告檔案的結構 7.1.3警告檔案作為外部表 7.1.4處理警告檔案 7.1.5異常 7.1.6通知的生命周期 7.1.7更替警告檔案 7.1.8調度和並發 7.1.9使用警告檔案的警告 7.1.10回顧警告檔案的內容 7.1.11小結7.2通知包 7.2.1SEND EMAIL過程” 7.2.2在資料庫中保存警告訊息 7.2.3小結7.3主動監控包 7.3.1備份 7.3.2歸檔日誌目錄下的空閒空間 7.3.3監控資料庫中的空閒空間 7.3.4小結7.4歷史數據包 7.4.1資料庫大小 7.4.2資料庫會話 7.4.3資源限制 7.4.4小結7.5小結第8章安全包8.1設計問題 8.1.1回顧定義者和調用者許可權 8.1.2包的構建 8.1.3模式,到處都是模式 8.1.4代碼發布8.2觸發器與安全因素 8.2.1安全檢查 8.2.2登錄觸發器:第一道防線8.3保護原始碼 8.3.1查看過程和函式的原始碼 8.3.2包的原始碼 8.3.3PL/SQL封裝工具8.4小結第9章W曲包9.1PL/SQL Web工具包基礎 9.1.1架構 9.1.2包的匯總 9.1.3從SQL*Plus測試工具包9.2HTP和HTF包9.3使用環境變數9.4cookie9.5管理檔案9.6通過Web管理表9.7來自資料庫的HTTP 9.7.1提取HTML 9.7.2使用UTL HTTP的Web服務客戶端9.8小結第10章PUSQL調試10.1防衛型的編碼 10.1.1異常 10.1.2裝備你的代碼 10.1.3寫文檔10.2工具 10.2.1DBHS 0UTPUT 10.2.2SOLCODE和SOLERRM 10.2.3DBHS UTILITY.FORHAT CALL STACK 10.2.4DBHS APPLICATl0N INFO 10.2.5自治事務 10.2.6UTL FILE 10.2.7用管道函式實時調試10.3自定義BEBUG工具 10.3.1需求 10.3.2資料庫設計和安裝 10.3.3包的布局 10.3.4實現 10.3.5基本操作 10.3.6使用STATUS 10.3.7有選擇的調試 10.3.8調試成品代碼 10.3.9D印UG的用處10.4小結附錄A構建DEBUG