注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)Oracle PL/SQL程序設(shè)計(jì)(第6版 上下冊(cè))

Oracle PL/SQL程序設(shè)計(jì)(第6版 上下冊(cè))

Oracle PL/SQL程序設(shè)計(jì)(第6版 上下冊(cè))

定 價(jià):¥188.00

作 者: [美] 史蒂芬,弗伊爾斯坦(Steven Feuerstein),比爾,普里比爾(Bill Pribyl) 著;方鑫 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)?網(wǎng)絡(luò) 數(shù)據(jù)庫(kù)

ISBN: 9787115448750 出版時(shí)間: 2017-05-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 1086 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Oracle PL/SQL程序設(shè)計(jì)(第6版)》基于Oracle數(shù)據(jù)庫(kù)12C,從用PL/SQL編程、PL/SQL程序結(jié)構(gòu)、PL/SQL程序數(shù)據(jù)、PL/SQL中的SQL、構(gòu)造PL/SQL應(yīng)用程序、高級(jí)PL/SQL主題這6個(gè)方面詳細(xì)而系統(tǒng)地討論了PL/SQL以及如何有效地使用它。本書能夠幫助你充分利用PL/SQL來(lái)解決數(shù)據(jù)庫(kù)開發(fā)中遇到的各種問題,引導(dǎo)你掌握各種構(gòu)建應(yīng)用的技巧和技術(shù),以便使你編寫出高效、可維護(hù)的代碼。本書不但介紹了大量Oracle數(shù)據(jù)庫(kù)12C的PL/SQL新性能,還提供了許多優(yōu)化PL/SQL性能的新方法?!禣racle PL/SQL程序設(shè)計(jì)(第6版)》結(jié)構(gòu)清晰,示例豐富,實(shí)踐性強(qiáng),適用于Oracle數(shù)據(jù)庫(kù)開發(fā)人員、Oracle數(shù)據(jù)庫(kù)管理員等相關(guān)數(shù)據(jù)庫(kù)從業(yè)人員,也可以作為各大、中專院校相關(guān)專業(yè)師生的參考用書和相關(guān)培訓(xùn)機(jī)構(gòu)的培訓(xùn)教材。

作者簡(jiǎn)介

  Steven Feuerstein被尊為Oracle PL/SQL語(yǔ)言的世界ji專家領(lǐng)袖。他是本書上一版、Oracle PL/SQL Best Practices、Oracle PL/SQL Programming: Guide to Oracle8i Features、Oracle PL/SQL Developer’s Workbook、Oracle Built-in Package、Advanced Oracle PL/SQL Programming with Packages以及多本口袋參考書(均由O’Reilly Media出版)的作者或合著者。Steven還是Quest Software的zi深技術(shù)顧問,從1980年就開始從事軟件的開發(fā)工作,并于1987~1992年在Oracle公司工作。Bill Pribyl是Learning Oracle PL/SQL的主要作者、本書上一版以及配套口袋參考書(均由O’Reilly Media出版)的合著者。目前他在一家國(guó)際貿(mào)易公司內(nèi)擔(dān)任一個(gè)編程小組的負(fù)責(zé)人。Bill曾經(jīng)使用PL/SQL編寫TCP/IP網(wǎng)絡(luò)客戶端、tnsping呼出工具、近于實(shí)時(shí)的商品價(jià)格加載器以及**函數(shù)等。Bill擁有Rice大學(xué)的物理學(xué)學(xué)位。在業(yè)余時(shí)間里,Bill的大部分精力都用來(lái)照顧罹患炎性乳腺癌的妻子。

圖書目錄

目錄(上)
第1部分 用PL/SQL編程
第1章 PL/SQL介紹\t3
1.1 什么是PL/SQL\t3
1.2 PL/SQL的起源\t4
1.2.1 早期的PL/SQL\t4
1.2.2 提高應(yīng)用的可移植性\t4
1.2.3 提高執(zhí)行權(quán)限控制和交易
完整性\t5
1.2.4 低調(diào)開始,持續(xù)改進(jìn)\t5
1.3 這就是PL/SQL\t6
1.3.1 與SQL的集成\t6
1.3.2 控制和條件邏輯\t7
1.3.3 出錯(cuò)處理\t8
1.4 關(guān)于PL/SQL版本\t9
1.4.1 Oracle數(shù)據(jù)庫(kù)12c中PL/SQL
的新特性\t10
1.5 可供PL/SQL開發(fā)者使用的
資源\t12
1.5.1 O’Reilly的PL/SQL系列圖書\t13
1.5.2 網(wǎng)絡(luò)上的PL/SQL資源\t14
1.6 一些建議\t15
1.6.1 別急,慢慢來(lái)\t15
1.6.2 不要畏懼尋求幫助\t16
1.6.3 采用有創(chuàng)造性的甚至激進(jìn)的
方法\t17
第2章 創(chuàng)建和運(yùn)行PL/SQL
代碼\t18
2.1 在數(shù)據(jù)庫(kù)中導(dǎo)航\t18
2.2 創(chuàng)建和編輯源代碼\t19
2.3 SQL*Plus\t19
2.3.1 啟動(dòng)SQL*Plus\t21
2.3.2 運(yùn)行SQL語(yǔ)句\t22
2.3.3 運(yùn)行PL/SQL程序\t22
2.3.4 運(yùn)行一個(gè)腳本\t24
2.3.5 什么是“當(dāng)前目錄”\t24
2.3.6 其他SQL*Plus任務(wù)\t25
2.3.7 SQL*Plus中的異常處理\t29
2.3.8 為什么SQL*Plus讓我們
又愛又恨\t30
2.4 執(zhí)行基本的PL/SQL任務(wù)\t30
2.4.1 創(chuàng)建存儲(chǔ)程序\t31
2.4.2 執(zhí)行存儲(chǔ)的程序\t33
2.4.3 顯示存儲(chǔ)程序\t34
2.4.4 存儲(chǔ)程序的授權(quán)和別名\t35
2.4.5 刪除一個(gè)存儲(chǔ)程序\t36
2.4.6 隱藏存儲(chǔ)程序的源代碼\t36
2.5 編輯PL/SQL的環(huán)境\t37
2.6 從其他語(yǔ)言中調(diào)用PL/SQL\t37
2.6.1 C語(yǔ)言,使用Oracle預(yù)編輯器
(Pro*C)\t38
2.6.2 Java:使用JDBC\t39
2.6.3 Perl:使用Perl DBI和DBD::
Oracle\t40
2.6.4 PHP:使用Oracle擴(kuò)展\t41
2.6.5 PL/SQL Server Pages\t42
2.6.6 其他\t43
第3章 語(yǔ)言基礎(chǔ)\t44
3.1 PL/SQL塊結(jié)構(gòu)\t44
3.1.1 匿名塊\t46
3.1.2 命名塊\t47
3.1.3 嵌套塊\t47
3.1.4 作用范圍\t48
3.1.5 規(guī)范SQL語(yǔ)句中對(duì)變量和
列的引用\t49
3.1.6 可見性\t51
3.2 PL/SQL字符集\t54
3.3 標(biāo)識(shí)符\t56
3.3.1 保留字\t57
3.3.2 空白和關(guān)鍵字\t58
3.4 直接量\t59
3.4.1 NULL\t60
3.4.2 在一個(gè)直接量字符串中嵌入
單引號(hào)\t61
3.4.3 數(shù)字直接量\t61
3.4.4 布爾直接量\t62
3.5 分號(hào)分隔符\t62
3.6 注釋\t63
3.6.1 單行注釋語(yǔ)法\t63
3.6.2 多行注釋語(yǔ)法\t63
3.7 PRAGMA關(guān)鍵字\t64
3.8 標(biāo)簽\t65
第2部分 PL/SQL程序結(jié)構(gòu)
第4章 條件與順序控制\t69
4.1 IF語(yǔ)句\t69
4.1.1 IF-THEN組合\t69
4.1.2 IF-THEN-ELSE的組合\t71
4.1.3 IF-THEN-ELSIF組合\t73
4.1.4 避免IF語(yǔ)法陷阱\t73
4.1.5 嵌套的IF語(yǔ)句\t75
4.1.6 短路估算\t75
4.2 CASE語(yǔ)句和表達(dá)式\t77
4.2.1 簡(jiǎn)單的CASE語(yǔ)句\t77
4.2.2 搜索CASE語(yǔ)句\t79
4.2.3 嵌套CASE語(yǔ)句\t81
4.2.4 CASE表達(dá)式\t81
4.3 GOTO語(yǔ)句\t83
4.4 NULL語(yǔ)句\t84
4.4.1 提高程序的可讀性\t84
4.4.2 在標(biāo)簽后使用NULL\t84
第5章 循環(huán)迭代處理\t86
5.1 循環(huán)的基礎(chǔ)知識(shí)\t86
5.1.1 不同循環(huán)的示例\t86
5.1.2 PL/SQL循環(huán)的結(jié)構(gòu)\t88
5.2 簡(jiǎn)單循環(huán)\t89
5.2.1 終止簡(jiǎn)單循環(huán):EXIT
和EXIT WHEN\t89
5.2.2 模仿REPEAT UNTIL循環(huán)\t90
5.2.3 故意的無(wú)限循環(huán)\t91
5.3 WHILE循環(huán)\t92
5.4 數(shù)值型FOR循環(huán)\t93
5.4.1 數(shù)值型FOR循環(huán)的規(guī)則\t94
5.4.2 數(shù)值型FOR循環(huán)的示例\t94
5.4.3 處理特殊增量\t95
5.5 游標(biāo)FOR循環(huán)\t96
5.5.1 游標(biāo)FOR循環(huán)的示例\t97
5.6 循環(huán)標(biāo)簽\t98
5.7 CONTINUE語(yǔ)句\t99
5.8 迭代處理技巧\t102
5.8.1 為循環(huán)索引使用可理解的
名稱\t102
5.8.2 以正確的方式說再見\t102
5.8.3 獲取FOR循環(huán)執(zhí)行的信息\t103
5.8.4 循環(huán)SQL語(yǔ)句\t104
第6章 異常處理\t106
6.1 異常處理概念和術(shù)語(yǔ)\t106
6.2 定義異常\t108
6.2.1 聲明命名異常\t108
6.2.2 關(guān)聯(lián)異常名稱與錯(cuò)誤代碼\t109
6.2.3 命名的系統(tǒng)異常\t112
6.2.4 異常作用范圍\t114
6.3 引發(fā)異常\t115
6.3.1 RAISE語(yǔ)句\t115
6.3.2 使用RAISE_APPLICATION_
ERROR\t116
6.4 處理異常\t117
6.4.1 內(nèi)置錯(cuò)誤函數(shù)\t118
6.4.2 單一處理句柄中結(jié)合多個(gè)
異常\t122
6.4.3 未處理異常\t123
6.4.4 未處理異常的傳播\t123
6.4.5 繼續(xù)過去的異常\t125
6.4.6 編寫WHEN OTHERS處理
代碼\t127
6.5 構(gòu)建有效的錯(cuò)誤管理架構(gòu)\t129
6.5.1 確定我們的異常管理策略\t129
6.5.2 對(duì)不同類型異常進(jìn)行標(biāo)準(zhǔn)化
處理\t130
6.5.3 程序特定錯(cuò)誤代碼的組織
使用\t133
6.5.4 使用標(biāo)準(zhǔn)的錯(cuò)誤管理程序\t133
6.5.5 使用自己的異?!皩?duì)象”\t135
6.5.6 創(chuàng)建常見錯(cuò)誤處理的標(biāo)準(zhǔn)
模板\t137
6.6 充分利用PL/SQL錯(cuò)誤
管理\t138
第3部分 PL/SQL程序數(shù)據(jù)
第7章 使用程序數(shù)據(jù)\t141
7.1 程序數(shù)據(jù)的命名\t141
7.2 PL/SQL數(shù)據(jù)類型概述\t143
7.2.1 字符數(shù)據(jù)\t143
7.2.2 數(shù)字\t144
7.2.3 日期、時(shí)間戳和時(shí)間間隔\t145
7.2.4 布爾類型\t145
7.2.5 二進(jìn)制數(shù)據(jù)類型\t146
7.2.6 ROWID\t146
7.2.7 REF CURSOR\t146
7.2.8 Internet數(shù)據(jù)類型\t147
7.2.9 “Any”數(shù)據(jù)類型\t147
7.2.10 用戶自定義數(shù)據(jù)類型\t147
7.3 程序數(shù)據(jù)的聲明\t147
7.3.1 聲明一個(gè)變量\t148
7.3.2 聲明常量\t148
7.3.3 NOT NULL語(yǔ)句\t149
7.3.4 錨定聲明\t149
7.3.5 游標(biāo)和表的錨\t151
7.3.6 使用錨定聲明的益處\t152
7.3.7 NOT NULL數(shù)據(jù)類型的錨\t153
7.4 程序員定義的子類型\t153
7.5 數(shù)據(jù)類型轉(zhuǎn)換\t154
7.5.1 隱式類型轉(zhuǎn)換\t155
7.5.2 顯式類型轉(zhuǎn)換\t156
第8章 字符串\t162
8.1 字符串類型\t162
8.1.1 VARCHAR2數(shù)據(jù)類型\t163
8.1.2 CHAR數(shù)據(jù)類型\t164
8.1.3 String子類型\t164
8.2 使用字符串\t165
8.2.1 指定字符串常量\t165
8.2.2 不可打印字符\t167
8.2.3 拼接字符串\t168
8.2.4 處理大小寫\t169
8.2.5 傳統(tǒng)的檢索、提取和替換\t172
8.2.6 填充\t174
8.2.7 剪裁\t176
8.2.8 正則表達(dá)式的檢索、提取和
替換\t177
8.2.9 使用空字符串\t187
8.2.10 混用CHAR和
VARCHAR2\t188
8.3 字符串函數(shù)快速參考\t190
第9章 數(shù)字\t199
9.1 數(shù)值型數(shù)字類型\t199
9.1.1 NUMBER類型\t200
9.1.2 PLS_INTEGER類型\t204
9.1.3 BINARY_INTEGER類型\t205
9.1.4 SIMPLE_INTEGER類型\t205
9.1.5 BINARY_FLOAT和
BINARY_DOUBLE類型\t207
9.1.6 SIMPLE_FLOAT和
SIMPLE_DOUBLE類型\t212
9.1.7 數(shù)字子類型\t212
9.2 數(shù)字轉(zhuǎn)換\t213
9.2.1 TO_NUMBER函數(shù)\t213
9.2.2 TO_CHAR函數(shù)\t216
9.2.3 CAST函數(shù)\t221
9.2.4 隱式轉(zhuǎn)換\t222
9.3 數(shù)字運(yùn)算符\t224
9.4 數(shù)字函數(shù)\t224
9.4.1 四舍五入和截?cái)嗪瘮?shù)\t224
9.4.2 三角函數(shù)\t225
9.4.3 數(shù)字函數(shù)的快速參考\t225
第10章 日期和時(shí)間戳\t230
10.1 Datetime數(shù)據(jù)類型\t230
10.1.1 聲明日期時(shí)間變量\t233
10.1.2 選擇日期時(shí)間數(shù)據(jù)類型\t233
10.2 獲取當(dāng)前日期和時(shí)間\t234
10.3 INTERVAL數(shù)據(jù)類型\t236
10.3.1 聲明INTERVAL變量\t237
10.3.2 什么時(shí)候使用INTERVAL\t238
10.4 日期時(shí)間轉(zhuǎn)換\t240
10.4.1 從字符串到日期時(shí)間\t240
10.4.2 從日期時(shí)間到字符串\t242
10.4.3 使用時(shí)區(qū)\t245
10.4.4 精確匹配需要格式掩碼\t247
10.4.5 讓精確匹配更輕松\t248
10.4.6 解釋滑動(dòng)窗口中兩位數(shù)字的
年份\t248
10.4.7 把時(shí)區(qū)轉(zhuǎn)換成字符串\t249
10.4.8 用填充模式把輸出補(bǔ)齊\t250
10.5 日期和時(shí)間戳直接量\t251
10.6 時(shí)間間隔的轉(zhuǎn)換\t252
10.6.1 從數(shù)字到時(shí)間間隔的轉(zhuǎn)換\t252
10.6.2 把字符串轉(zhuǎn)換成間隔\t253
10.6.3 時(shí)間間隔的格式化顯示\t254
10.7 時(shí)間間隔直接量\t254
10.8 CAST和EXTRACT\t256
10.8.1 CAST函數(shù)\t256
10.8.2 EXTRACT函數(shù)\t258
10.9 日期時(shí)間的算法\t258
10.9.1 時(shí)間間隔和日期時(shí)間的
算法\t259
10.9.2 DATE數(shù)據(jù)類型的日期
算法\t260
10.9.3 計(jì)算兩個(gè)日期時(shí)間之間的
時(shí)間間隔\t260
10.9.4 DATE和TIMESTAMP混合
計(jì)算\t262
10.9.5 時(shí)間間隔的加減運(yùn)算\t263
10.9.6 時(shí)間間隔的乘除運(yùn)算\t264
10.9.7 使用不受限制的時(shí)間間隔
類型\t264
10.10 日期/時(shí)間函數(shù)的快速
參考\t266
第11章 記錄類型\t269
11.1 PL/SQL中的記錄\t269
11.1.1 使用記錄的好處\t270
11.1.2 聲明記錄\t271
11.1.3 程序員自定義的記錄類型\t273
11.1.4 使用記錄類型\t275
11.1.5 記錄的比較\t281
11.1.6 觸發(fā)器偽記錄\t282
第12章 集合\t284
12.1 集合概述\t285
12.1.1 集合概念和術(shù)語(yǔ)\t285
12.1.2 集合類型\t287
12.1.3 集合示例\t288
12.1.4 使用集合的場(chǎng)合\t291
12.1.5 選擇一個(gè)集合類型\t296
12.2 集合方法(內(nèi)置)\t297
12.2.1 COUNT方法\t298
12.2.2 DELETE方法\t299
12.2.3 EXISTS方法\t300
12.2.4 EXTEND方法\t300
12.2.5 FIRST和LAST方法\t301
12.2.6 LIMIT方法\t302
12.2.7 PRIOR和NEXT方法\t303
12.2.8 TRIM方法\t304
12.3 使用集合\t305
12.3.1 聲明集合類型\t306
12.3.2 集合變量的聲明和初始化\t310
12.3.3 用數(shù)據(jù)填充集合\t313
12.3.4 訪問集合內(nèi)的數(shù)據(jù)\t318
12.3.5 使用字符串索引的集合\t319
12.3.6 復(fù)雜數(shù)據(jù)類型的集合\t324
12.3.7 多級(jí)集合\t327
12.3.8 在SQL中使用集合\t335
12.4 嵌套表的多重集合操作\t342
12.4.1 測(cè)試嵌套表是否相等及成員
歸屬\t343
12.4.2 檢查元素是否是嵌套表的
成員\t344
12.4.3 執(zhí)行高級(jí)別集合操作\t345
12.4.4 嵌套表中的去重\t346
12.5 schema級(jí)別集合的維護(hù)\t347
12.5.1 必需的權(quán)限\t347
12.5.2 集合和數(shù)據(jù)字典\t348
第13章 其他數(shù)據(jù)類型\t349
13.1 BOOLEAN類型\t349
13.2 RAW數(shù)據(jù)類型\t350
13.3 UROWID和ROWID數(shù)據(jù)
類型\t351
13.3.1 獲取ROWID\t352
13.3.2 使用ROWID\t352
13.4 LOB數(shù)據(jù)類型\t353
13.5 使用LOB\t354
13.5.1 理解LOB定位符\t356
13.5.2 LOB的空和NULL\t357
13.5.3 向LOB中寫入數(shù)據(jù)\t359
13.5.4 讀取LOB數(shù)據(jù)\t361
13.5.5 BFILE的不同之處\t363
13.5.6 SecureFiles和BasicFiles\t367
13.5.7 臨時(shí)LOB\t369
13.5.8 原生的LOB操作\t372
13.5.9 LOB轉(zhuǎn)換函數(shù)\t376
13.6 預(yù)定義的對(duì)象類型\t376
13.6.1 XMLType類型\t376
13.6.2 URI類型\t379
13.6.3 Any類型\t381
第4部分 PL/SQL中的SQL
第14章 DML和事務(wù)管理\t387
14.1 PL/SQL中的DML\t388
14.1.1 DML簡(jiǎn)介\t388
14.1.2 DML操作符的游標(biāo)屬性\t391
14.1.3 從DML語(yǔ)句返回信息\t392
14.1.4 DML和異常處理\t393
14.1.5 DML和記錄\t394
14.2 事務(wù)管理\t397
14.2.1 COMMIT語(yǔ)句\t397
14.2.2 ROLLBACK語(yǔ)句\t398
14.2.3 SAVEPOINT語(yǔ)句\t399
14.2.4 SET TRANSACTION語(yǔ)句\t399
14.2.5 LOCK TABLE語(yǔ)句\t400
14.3 自治事務(wù)\t400
14.3.1 定義自治事務(wù)\t401
14.3.2 自治事務(wù)的規(guī)則和限制\t402
14.3.3 事務(wù)的可見性\t403
14.3.4 何時(shí)使用自治事務(wù)\t403
14.3.5 創(chuàng)建自治日志記錄機(jī)制\t404
第15章 數(shù)據(jù)提取\t407
15.1 游標(biāo)基礎(chǔ)\t408
15.1.1 一些數(shù)據(jù)提取術(shù)語(yǔ)\t408
15.1.2 典型的查詢操作\t410
15.1.3 游標(biāo)屬性介紹\t411
15.1.4 在游標(biāo)中引用PL/SQL
變量\t413
15.1.5 顯式與隱式游標(biāo)之間的
選擇\t414
15.2 使用隱式游標(biāo)\t414
15.2.1 隱式游標(biāo)示例\t415
15.2.2 隱式游標(biāo)的異常處理\t416
15.2.3 隱式SQL游標(biāo)的屬性\t418
15.3 使用顯式游標(biāo)\t419
15.3.1 聲明顯式游標(biāo)\t420
15.3.2 打開顯式游標(biāo)\t423
15.3.3 從顯式游標(biāo)獲取\t424
15.3.4 顯式游標(biāo)中的列別名\t425
15.3.5 關(guān)閉顯式游標(biāo)\t426
15.3.6 顯式游標(biāo)屬性\t427
15.3.7 游標(biāo)參數(shù)\t429
15.4 SELECT…FOR UPDATE\t432
15.4.1 COMMIT釋放鎖定\t433
15.4.2 WHERE CURRENT
OF子句\t434
15.5 游標(biāo)變量和REF
CURSOR\t435
15.5.1 為什么使用游標(biāo)變量\t436
15.5.2 與靜態(tài)游標(biāo)的相似之處\t437
15.5.3 聲明REF CURSOR類型\t437
15.5.4 聲明游標(biāo)變量\t438
15.5.5 打開游標(biāo)變量\t439
15.5.6 從游標(biāo)變量中提取數(shù)據(jù)\t440
15.5.7 游標(biāo)變量的使用規(guī)則\t442
15.5.8 將游標(biāo)變量作為參數(shù)傳遞\t445
15.5.9 游標(biāo)變量的約束限制\t447
15.6 游標(biāo)表達(dá)式\t447
15.6.1 使用游標(biāo)表達(dá)式\t448
15.6.2 游標(biāo)表達(dá)式的約束限制\t450
第16章 動(dòng)態(tài)SQL和動(dòng)態(tài)
PL/SQL\t451
16.1 NDS語(yǔ)句\t452
16.1.1 EXECUTE IMMEDIATE
語(yǔ)句\t452
16.1.2 OPEN FOR語(yǔ)句\t455
16.1.3 4種動(dòng)態(tài)SQL方法\t460
16.2 綁定變量\t462
16.2.1 參數(shù)模式\t463
16.2.2 重復(fù)的占位符\t465
16.2.3 傳遞NULL值\t465
16.3 使用對(duì)象和集合\t466
16.4 動(dòng)態(tài)PL/SQL\t468
16.4.1 建立動(dòng)態(tài)PL/SQL塊\t469
16.4.2 用動(dòng)態(tài)塊替換重復(fù)代碼\t470
16.5 NDS建議\t471
16.5.1 對(duì)共享程序使用調(diào)用者
權(quán)限\t471
16.5.2 預(yù)測(cè)并處理動(dòng)態(tài)錯(cuò)誤\t472
16.5.3 使用綁定而非拼接\t474
16.5.4 減少代碼注入的危險(xiǎn)\t475
16.6 何時(shí)使用DBMS_SQL\t478
16.6.1 獲得查詢列信息\t478
16.6.2 實(shí)現(xiàn)第四種方法的動(dòng)態(tài)
SQL需求\t479
16.6.3 最小化動(dòng)態(tài)游標(biāo)解析\t485
16.6.4 Oracle數(shù)據(jù)庫(kù)11g新動(dòng)態(tài)
SQL特性\t486
16.6.5 DBMS_SQL增強(qiáng)安全\t490
目錄(下)
第5部分 構(gòu)造PL/SQL應(yīng)用程序
第17章 過程、函數(shù)和參數(shù)\t497
17.1 代碼模塊化\t497
17.2 過程\t499
17.2.1 調(diào)用一個(gè)過程\t501
17.2.2 過程頭部\t501
17.2.3 過程體\t501
17.2.4 END標(biāo)簽\t502
17.2.5 RETURN語(yǔ)句\t502
17.3 函數(shù)\t502
17.3.1 函數(shù)的結(jié)構(gòu)\t503
17.3.2 返回的數(shù)據(jù)類型\t504
17.3.3 END標(biāo)簽\t506
17.3.4 調(diào)用函數(shù)\t506
17.3.5 不帶參數(shù)的函數(shù)\t507
17.3.6 函數(shù)頭\t508
17.3.7 函數(shù)體\t508
17.3.8 RETURN語(yǔ)句\t509
17.4 參數(shù)\t510
17.4.1 定義參數(shù)\t511
17.4.2 實(shí)參和形參\t511
17.4.3 參數(shù)模式\t512
17.4.4 在PL/SQL中顯式地關(guān)聯(lián)
實(shí)參和形參\t515
17.4.5 NOCOPY參數(shù)模式限定符\t519
17.4.6 缺省值\t519
17.5 局部或者嵌套模塊\t520
17.5.1 使用局部模塊的益處\t521
17.5.2 局部模塊的作用范圍\t523
17.5.3 用局部模塊使得代碼更
整潔\t524
17.6 模塊的重載\t524
17.6.1 重載的益處\t525
17.6.2 重載的限制\t528
17.6.3 數(shù)字類型的重載\t528
17.7 前置聲明\t529
17.8 高級(jí)主題\t530
17.8.1 在SQL內(nèi)部調(diào)用我們的
函數(shù)\t530
17.8.2 表函數(shù)\t536
17.8.3 確定性函數(shù)\t545
17.8.4 隱式游標(biāo)結(jié)果(Oracle
數(shù)據(jù)庫(kù)12c)\t546
17.9 將模塊化進(jìn)行到底\t547
第18章 程序包\t548
18.1 為什么使用程序包\t548
18.1.1 演示程序包的能力\t549
18.1.2 與程序包相關(guān)的一些概念\t552
18.1.3 圖示私有性\t553
18.2 構(gòu)建程序包的規(guī)則\t554
18.2.1 程序包說明\t554
18.2.2 包體\t555
18.2.3 包的初始化\t557
18.3 包元素的調(diào)用規(guī)則\t561
18.4 使用包數(shù)據(jù)\t562
18.4.1 在一個(gè)Oracle會(huì)話內(nèi)全局
可見\t562
18.4.2 全局公有數(shù)據(jù)\t563
18.4.3 包游標(biāo)\t563
18.4.4 包的串行化\t568
18.5 何時(shí)使用包\t570
18.5.1 封裝對(duì)數(shù)據(jù)的訪問\t570
18.5.2 避免直接量的硬編碼\t573
18.5.3 提高內(nèi)置特性的可用性\t575
18.5.4 把邏輯上相關(guān)的功能組織
在一起\t576
18.5.5 緩存靜態(tài)的會(huì)話數(shù)據(jù)\t576
18.6 包和對(duì)象類型\t577
第19章 觸發(fā)器\t578
19.1 DML觸發(fā)器\t579
19.1.1 DML觸發(fā)器的概念\t580
19.1.2 創(chuàng)建DML觸發(fā)器\t581
19.1.3 DML觸發(fā)器的例子:嚴(yán)禁
作弊!\t586
19.1.4 同一類型的多個(gè)觸發(fā)器\t591
19.1.5 如何對(duì)觸發(fā)順序排序\t592
19.1.6 突變表的錯(cuò)誤\t594
19.1.7 復(fù)合觸發(fā)器:聚在一處\t595
19.2 DDL觸發(fā)器\t598
19.2.1 創(chuàng)建DDL觸發(fā)器\t598
19.2.2 可用事件\t600
19.2.3 可用屬性\t601
19.2.4 使用事件和屬性\t602
19.2.5 刪除不可刪除的\t606
19.2.6 INSTEAD OFCREATE
觸發(fā)器\t606
19.3 數(shù)據(jù)庫(kù)事件觸發(fā)器\t607
19.3.1 創(chuàng)建數(shù)據(jù)庫(kù)事件觸發(fā)器\t608
19.3.2 STARTUP觸發(fā)器\t609
19.3.3 SHUTDOWN觸發(fā)器\t610
19.3.4 LOGON觸發(fā)器\t610
19.3.5 LOGOFF觸發(fā)器\t610
19.3.6 SERVERERROR觸發(fā)器\t611
19.4 INSTEAD OF觸發(fā)器\t615
19.4.1 創(chuàng)建INSTEAD OF觸發(fā)器\t615
19.4.2 INSTEAD OF INSERT
觸發(fā)器\t616
19.4.3 INSTEAD OF UPDATE
觸發(fā)器\t618
19.4.4 INSTEAD OF DELETE
觸發(fā)器\t619
19.4.5 填充表\t619
19.4.6 嵌套表的lNSTEAD OF
觸發(fā)器\t620
19.5 AFTER SUSPEND觸發(fā)器\t621
19.5.1 建立AFTER SUSPEND
觸發(fā)器\t622
19.5.2 看看真實(shí)的觸發(fā)器\t623
19.5.3 ORA_SPACE_ERROR_lNFO
函數(shù)\t624
19.5.4 DBMS_RESUMABLE包\t625
19.5.5 捕獲多個(gè)時(shí)間\t626
19.5.6 是否該處理?\t627
19.6 維護(hù)觸發(fā)器\t628
19.6.1 禁用、啟用以及刪除
觸發(fā)器\t628
19.6.2 創(chuàng)建一個(gè)禁用的觸發(fā)器\t628
19.6.3 查看觸發(fā)器\t629
19.6.4 檢查觸發(fā)器的有效性\t630
第20章 管理PL/SQL代碼\t631
20.1 管理數(shù)據(jù)庫(kù)內(nèi)的代碼\t632
20.1.1 數(shù)據(jù)字典視圖概述\t632
20.1.2 顯示存儲(chǔ)對(duì)象的信息\t634
20.1.3 源代碼的顯示和搜索\t635
20.1.4 根據(jù)程序的大小確定Pinning
需求\t637
20.1.5 獲得存儲(chǔ)代碼的屬性\t637
20.1.6 通過視圖分析和更改觸發(fā)器
狀態(tài)\t638
20.1.7 分析參數(shù)信息\t639
20.1.8 分析標(biāo)識(shí)符的使用(Oracle
數(shù)據(jù)庫(kù)11g的PL/Scope)\t640
20.2 管理依賴關(guān)系及重編譯
代碼\t643
20.2.1 通過數(shù)據(jù)字典視圖分析依賴
關(guān)系\t643
20.2.2 細(xì)粒度依賴(Oracle
數(shù)據(jù)庫(kù)11g)\t647
20.2.3 遠(yuǎn)程依賴\t648
20.2.4 Oracle的遠(yuǎn)程調(diào)用模式的
限制\t650
20.2.5 重編譯無(wú)效的程序單元\t651
20.3 編譯時(shí)刻警告\t655
20.3.1 一個(gè)快速示例\t655
20.3.2 開啟編譯時(shí)刻告警\t656
20.3.3 一些有用的警告\t657
20.4 測(cè)試PL/SQL程序\t664
20.4.1 典型的、華而不實(shí)的測(cè)試
技術(shù)\t665
20.4.2 PL/SQL代碼測(cè)試的一般
建議\t668
20.4.3 PL/SQL的自動(dòng)測(cè)試選項(xiàng)\t669
20.5 跟蹤PL/SQL的執(zhí)行\(zhòng)t670
20.5.1 DBMS_UTILITY.FORMAT_
CALL_STACK\t671
20.5.2 UTL_CALL_STACK(Oracle
數(shù)據(jù)庫(kù)12c)\t673
20.5.3 DBMS_APPLICATION_
INFO\t676
20.5.4 使用opp_trace進(jìn)行跟蹤\t677
20.5.5 DBMS_TRACE工具包\t678
20.6 PL/SQL程序的調(diào)試\t681
20.6.1 錯(cuò)誤的調(diào)試方法\t682
20.6.2 調(diào)試技巧和策略\t683
20.7 使用白名單來(lái)控制對(duì)程序
單元的訪問\t687
20.8 存儲(chǔ)代碼的保護(hù)\t689
20.8.1 封裝的約束和局限\t690
20.8.2 使用封裝程序\t690
20.8.3 使用DBMS_DDL進(jìn)行動(dòng)態(tài)
封裝\t690
20.8.4 封裝代碼的使用指導(dǎo)\t691
20.9 基于版本的重定義(Oracle
數(shù)據(jù)庫(kù)11g R2版本)\t692
第21章 PL/SQL的性能優(yōu)化\t695
21.1 輔助優(yōu)化的工具\(yùn)t696
21.1.1 內(nèi)存使用分析\t696
21.1.2 發(fā)現(xiàn)PL/SQL代碼中的瓶頸\t697
21.1.3 計(jì)算花費(fèi)時(shí)間\t701
21.1.4 選擇最快的程序\t703
21.1.5 避免無(wú)限循環(huán)\t704
21.1.6 性能相關(guān)的警告\t706
21.2 優(yōu)化編譯器\t706
21.2.1 優(yōu)化器工作原理\t707
21.2.2 循環(huán)Fetch操作的運(yùn)行
時(shí)優(yōu)化\t710
21.3 數(shù)據(jù)緩存技術(shù)\t710
21.3.1 基于包的緩存\t711
21.3.2 確定性函數(shù)的緩存\t716
21.3.3 函數(shù)結(jié)果緩存(Oracle
數(shù)據(jù)庫(kù)11g)\t718
21.3.4 緩存總結(jié)\t731
21.4 重復(fù)的SQL的語(yǔ)句批
處理\t732
21.4.1 通過BULK COLLECT加速
查詢\t733
21.4.2 使用FORALL加速DML\t739
21.5 利用管道化的表函數(shù)提升
性能\t749
21.5.1 用基于管道化函數(shù)的加載
方式替換基于行的插入\t750
21.5.2 用管道函數(shù)調(diào)優(yōu)Merge
操作\t756
21.5.3 用并行管道函數(shù)進(jìn)行異步
數(shù)據(jù)導(dǎo)出\t758
21.5.4 并行管道函數(shù)中的分區(qū)和
流子句對(duì)性能的影響\t761
21.5.5 管道函數(shù)和基于成本的
優(yōu)化器\t763
21.5.6 用管道函數(shù)優(yōu)化負(fù)載的數(shù)據(jù)
加載\t768
21.5.7 管道函數(shù)結(jié)束語(yǔ)\t775
21.6 專用的優(yōu)化技術(shù)\t775
21.6.1 使用NOCOPY參數(shù)模式
提示符\t775
21.6.2 使用正確的數(shù)據(jù)類型\t778
21.6.3 SQL(12.1及更高版本)的
函數(shù)性能優(yōu)化\t779
21.7 性能回顧\t780
第22章 I/O操作和PL/SQL\t781
22.1 顯示信息\t781
22.1.1 啟用DBMS_OUTPUT\t782
22.1.2 向緩存中寫入行\(zhòng)t782
22.1.3 從緩存中讀取內(nèi)容\t783
22.2 文件的讀寫\t784
22.2.1 UTL_FILE_DIR參數(shù)\t784
22.2.2 使用Oracle目錄\t786
22.2.3 打開文件\t787
22.2.4 文件已經(jīng)打開了嗎?\t789
22.2.5 關(guān)閉文件\t789
22.2.6 讀取文件\t790
22.2.7 向文件中寫\t792
22.2.8 復(fù)制文件\t795
22.2.9 刪除文件\t795
22.2.10 改名和移動(dòng)文件\t796
22.2.11 提取文件屬性\t797
22.3 發(fā)送郵件\t798
22.3.1 Oracle的前提條件\t798
22.3.2 設(shè)置網(wǎng)絡(luò)安全\t799
22.3.3 發(fā)送一個(gè)短的(小于32767字
節(jié))的純文本消息\t799
22.3.4 在郵件地址中加上“界面友
好的”的名字\t801
22.3.5 發(fā)送任意長(zhǎng)度的純文本
消息\t802
22.3.6 發(fā)送帶有小附件(小于32767
字節(jié))的消息\t803
22.3.7 以附件形式發(fā)送一個(gè)小文件
(小于32767字節(jié))\t805
22.3.8 任意大小的附件\t805
22.4 使用基于Web的數(shù)據(jù)
(HTTP)\t808
22.4.1 “分片”獲得一個(gè)Web頁(yè)面\t808
22.4.2 把頁(yè)面提取到一個(gè)LOB中\(zhòng)t809
22.4.3 使用HTTP的用戶名/密碼
驗(yàn)證\t810
22.4.4 獲取一個(gè)SSL加密的Web頁(yè)面
(使用HTTPS)\t811
22.4.5 通過GET或者POST向Web頁(yè)
面提交數(shù)據(jù)\t812
22.4.6 禁用cookie或者使cookie
持久化\t816
22.4.7 從FTP服務(wù)器獲取數(shù)據(jù)\t816
22.4.8 使用代理服務(wù)器\t817
22.5 PL/SQL中可用的其他I/O
類型\t817
22.5.1 數(shù)據(jù)庫(kù)管道、隊(duì)列、告警\t817
22.5.2 TCPSocket\t818
22.5.3 Oracle的內(nèi)置Web服務(wù)器\t818

第6部分 高級(jí)PL/SQL主題
第23章 應(yīng)用系統(tǒng)安全與
PL/SQL\t821
23.1 安全概述\t821
23.2 加密\t822
23.2.1 密鑰長(zhǎng)度\t823
23.2.2 算法\t824
23.2.3 填補(bǔ)和連接\t825
23.2.4 DBMS_CRYPTO包\t825
23.2.5 數(shù)據(jù)加密\t827
23.2.6 LOB的加密\t830
23.2.7 安全文件\t830
23.2.8 數(shù)據(jù)解密\t831
23.2.9 生成密鑰\t832
23.2.10 密鑰的管理\t833
23.2.11 加密哈希\t838
23.2.12 使用消息驗(yàn)證碼\t839
23.2.13 使用透明數(shù)據(jù)加密
(TDE)\t841
23.2.14 透明的表空間加密\t843
23.3 行級(jí)安全\t844
23.3.1 為什么要學(xué)習(xí)RLS\t846
23.3.2 一個(gè)簡(jiǎn)單的RLS示例\t847
23.3.3 靜態(tài)與動(dòng)態(tài)策略\t850
23.3.4 使用列敏感的RLS\t854
23.3.5 RLS調(diào)試\t857
23.4 應(yīng)用程序上下文\t861
23.4.1 使用應(yīng)用程序上下文\t862
23.4.2 上下文的安全\t863
23.4.3 把上下文用作RLS的謂詞
條件\t863
23.4.4 識(shí)別出非數(shù)據(jù)庫(kù)的用戶\t867
23.5 細(xì)粒度審計(jì)\t868
23.5.1 為什么要學(xué)習(xí)FGA\t869
23.5.2 一個(gè)簡(jiǎn)單的FGA示例\t870
23.5.3 訪問多少列\(zhòng)t872
23.5.4 查看審計(jì)跟蹤信息\t873
23.5.5 使用綁定變量\t874
23.5.6 使用句柄模塊\t875
第24章 PL/SQL架構(gòu)\t877
24.1 DIANA\t877
24.2 Oracle如何執(zhí)行PL/SQL
代碼\t878
24.2.1 一個(gè)示例\t879
24.2.2 編譯器的限制\t881
24.3 PL/SQL的缺省包\t882
24.4 執(zhí)行權(quán)限模型\t884
24.4.1 定義者權(quán)限模型\t885
24.4.2 調(diào)用者權(quán)限模型\t889
24.4.3 組合權(quán)限模型\t891
24.4.4 給PL/SQL程序單元授予角色
(Oracle數(shù)據(jù)庫(kù)12c)\t892
24.4.5 “誰(shuí)調(diào)用了我?”函數(shù)
(Oracle數(shù)據(jù)庫(kù)12c)\t895
24.4.6 視圖的BEQUEATH CURRENT_
USER子句(Oracle數(shù)據(jù)庫(kù)
12c)\t895
24.4.7 調(diào)用者權(quán)限優(yōu)點(diǎn)的限制
(Oracle數(shù)據(jù)庫(kù)12c)\t897
24.5 條件編譯\t898
24.5.1 條件編譯的示例\t899
24.5.2 查詢指令\t900
24.5.3 $IF指令\t903
24.5.4 $ERROR指令\t904
24.5.5 將代碼與包常量同步\t905
24.5.6 用查詢指令實(shí)現(xiàn)程序?qū)S?br />設(shè)置\t906
24.5.7 使用預(yù)處理后的代碼\t907
24.6 PL/SQL和數(shù)據(jù)庫(kù)實(shí)例
內(nèi)存\t908
24.6.1 SGA、PGA和UGA\t908
24.6.2 游標(biāo)、內(nèi)存及其他\t909
24.6.3 減少內(nèi)存使用的技巧\t910
24.6.4 內(nèi)存用光了怎么辦\t920
24.7 原生式編譯\t922
24.7.1 什么時(shí)候使用解釋模式\t922
24.7.2 什么時(shí)候使用原生模式\t922
24.7.3 原生編譯和數(shù)據(jù)庫(kù)版本\t923
24.8 一些須知\t923
第25章 PL/SQL的全球化和
本地化\t925
25.1 概述和術(shù)語(yǔ)\t926
25.2 Unicode入門\t928
25.2.1 國(guó)家字符集的數(shù)據(jù)類型\t929
25.2.2 字符編碼\t929
25.2.3 和全球化支持相關(guān)的參數(shù)\t930
25.2.4 Unicode函數(shù)\t931
25.3 字符語(yǔ)義\t938
25.4 字符串排序順序\t941
25.4.1 二進(jìn)制排序\t942
25.4.2 單語(yǔ)言排序\t943
25.4.3 多語(yǔ)言排序\t945
25.5 多語(yǔ)言信息檢索\t946
25.5.1 信息檢索和PL/SQL\t948
25.6 日期/時(shí)間\t950
25.6.1 時(shí)間戳數(shù)據(jù)類型\t951
25.6.2 日期/時(shí)間格式\t952
25.7 貨幣轉(zhuǎn)換\t955
25.8 PL/SQL的全球化開發(fā)
工具箱\t957
25.8.1 UTL_I18N工具包\t957
25.8.2 UTL_LMS異常處理包\t960
25.8.3 GDK實(shí)現(xiàn)選項(xiàng)\t961
第26章 PL/SQL的面向?qū)ο?br />特性\t963
26.1 Oracle對(duì)象特性的介紹\t963
26.2 對(duì)象類型示例\t965
26.2.1 創(chuàng)建一個(gè)基類\t966
26.2.2 創(chuàng)建子類型\t967
26.2.3 方法\t968
26.2.4 在Oracle數(shù)據(jù)庫(kù)11g及以后
版本中調(diào)用父類的方法\t972
26.2.5 保存、提取、使用持久化
對(duì)象\t974
26.2.6 演變和創(chuàng)建\t981
26.2.7 回到指針嗎?\t983
26.2.8 泛化數(shù)據(jù):ANY類型\t989
26.2.9 我們自己做\t993
26.2.10 對(duì)象的比較\t996
26.3 對(duì)象視圖\t1001
26.3.1 一個(gè)關(guān)系型系統(tǒng)的示例\t1002
26.3.2 帶有集合屬性的對(duì)象視圖\t1003
26.3.3 對(duì)象子視圖\t1006
26.3.4 帶有反關(guān)系的對(duì)象視圖\t1008
26.3.5 INSTEAD OF觸發(fā)器\t1008
26.3.6 對(duì)象視圖和對(duì)象表的區(qū)別\t1010
26.4 維護(hù)對(duì)象類型和對(duì)象視圖\t1012
26.4.1 數(shù)據(jù)字典\t1012
26.4.2 權(quán)限\t1013
26.5 來(lái)自一個(gè)關(guān)系開發(fā)者的總結(jié)
思考(C551, E1200)\t1015
第27章 從PL/SQL中調(diào)用
Java\t1017
27.1 Oracle和Java\t1017
27.2 準(zhǔn)備好在Oracle中使用
Java\t1018
27.2.1 安裝Java\t1019
27.2.2 創(chuàng)建和編譯我們的Java
代碼\t1019
27.2.3 設(shè)置Java開發(fā)和執(zhí)行的
權(quán)限\t1020
27.3 一個(gè)簡(jiǎn)單的演示\t1022
27.3.1 查找Java功能\t1023
27.3.2 創(chuàng)建一個(gè)自定義Java類\t1023
27.3.3 編譯和加載到Oracle\t1025
27.3.4 創(chuàng)建一個(gè)PL/SQL的
包裝器\t1026
27.3.5 從PL/SQL刪除文件\t1027
27.4 使用loadjava\t1028
27.5 使用dropjava\t1030
27.6 管理數(shù)據(jù)庫(kù)中的Java\t1030
27.6.1 Oracle中的Java命名空間\t1030
27.6.2 檢查加載的Java元素\t1031
27.7 使用DBMS_JAVA\t1032
27.7.1 LONGNAME:轉(zhuǎn)換Java
長(zhǎng)名字\t1032
27.7.2 GET_、SET_和RESET_
COMPILER_OPTION:
得到和設(shè)置(一些)
編譯器選項(xiàng)\t1033
27.7.3 SET_OUTPUT:允許從
Java中輸出\t1034
27.7.4 EXPORT_SOURCE、EXPORT_
RESOURCE和EXPORT_
CLASS:導(dǎo)出模式對(duì)象\t1034
27.8 在PL/SQL中發(fā)布與
使用Java\t1036
27.8.1 調(diào)用規(guī)范\t1036
27.8.2 一些調(diào)用規(guī)范的規(guī)則\t1037
27.8.3 映射數(shù)據(jù)類型\t1038
27.8.4 在SQL中調(diào)用Java方法\t1039
27.8.5 Java的異常處理\t1040
27.8.6 擴(kuò)展文件I/O功能\t1042
27.8.7 其他示例\t1046
第28章 外部過程\t1049
28.1 外部過程介紹\t1050
28.1.1 示例:調(diào)用一個(gè)系統(tǒng)命令\t1050
28.1.2 外部過程的架構(gòu)\t1052
28.2 Oracle網(wǎng)絡(luò)配置\t1053
28.2.1 定義監(jiān)聽配置\t1053
28.2.2 配置的安全特性\t1055
28.3 設(shè)置多線程模式\t1056
28.4 創(chuàng)建一個(gè)Oracle庫(kù)\t1058
28.5 編寫調(diào)用規(guī)范\t1059
28.5.1 調(diào)用規(guī)范:整體語(yǔ)法\t1060
28.5.2 參數(shù)映射:示例重溫\t1061
28.5.3 參數(shù)映射:完整的內(nèi)容\t1063
28.5.4 更多的語(yǔ)法:參數(shù)子句\t1064
28.5.5 參數(shù)屬性\t1065
28.6 從調(diào)用的C程序中引發(fā)
一個(gè)異常\t1068
28.7 非默認(rèn)的代理\t1071
28.8 維護(hù)外部過程\t1073
28.8.1 刪除庫(kù)\t1073
28.8.2 數(shù)據(jù)字典\t1074
28.8.3 規(guī)則和警示\t1074
附錄A 正則表達(dá)式元字符和函數(shù)
參數(shù)\t1075
附錄B 數(shù)字格式模型\t1080
附錄C 日期格式模型\t1083

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)