性xx色动画xx无尽,国产精品三级av三级av三级 ,中文在线√天堂,亚洲国产成人久久一区久久,亚洲熟妇色l20p

當(dāng)前位置 : 首頁(yè)  圖書 正文

Oracle PL/SQL程序設(shè)計(jì)(第6版)(上下冊(cè))簡(jiǎn)介,目錄書摘

2020-03-30 09:37 來源:京東 作者:京東
oraclepl/sql
Oracle PL/SQL程序設(shè)計(jì)(第6版)(上下冊(cè))
暫無報(bào)價(jià)
6萬(wàn)+評(píng)論 98%好評(píng)
編輯推薦:本書在Oracle社區(qū)中被公認(rèn)為是zui好的Oracle PL/SQL程序設(shè)計(jì)權(quán)V指南。如果想要充分利用PL/SQL,本書無疑是**的資源。本書第6版全面講解了PL/SQL的特性和功能,涵蓋了直到Oracle數(shù)據(jù)庫(kù)12c R1版本發(fā)生的新變化。
在過去20多年,成千上萬(wàn)的PL/SQL程序開發(fā)人員從本書中受益,這次的新版延續(xù)了之前的風(fēng)格,提供了豐富的代碼示例,穿插了程序開發(fā)人員才能看懂的小幽默。本書介紹了PL/SQL語(yǔ)言的基礎(chǔ)知識(shí)、高級(jí)編碼技巧,并提供了zui佳實(shí)踐來幫助大家解決真實(shí)世界中的問題。
本書講解了如下內(nèi)容:
借助于有關(guān)執(zhí)行、跟蹤、調(diào)試和管理代碼的清晰指導(dǎo),快速編寫和運(yùn)行PL/SQL程序;
學(xué)習(xí)12.1版本的新特性,包括ACCESIBLE_BY子句、WITH FUNCTION和UDF雜注以及視圖的BEQUEATH CURRENT_USER權(quán)限;
充分利用書中提供的大量代碼示例(從易于遵循的示例到可重用的打包工具,不一而足);
使用諸如PL/Scope和PL/SQL分層配置文件等Oracle工具,以及像函數(shù)結(jié)果緩存這樣的特性,優(yōu)化PL/SQL的性能;
使用程序包、過程、函數(shù)和觸發(fā)器來構(gòu)建模塊化、易維護(hù)的PL/SQL應(yīng)用程序。
內(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來解決數(shù)據(jù)庫(kù)開發(fā)中遇到的各種問題,引導(dǎo)你掌握各種構(gòu)建應(yīng)用的技巧和技術(shù),以便使你編寫出高效、可維護(hù)的代碼。本書不但介紹了大量Oracle數(shù)據(jù)庫(kù)12C的PL/SQL新性能,還提供了許多優(yōu)化PL/SQL性能的新方法。
《Oracle 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的大部分精力都用來照顧罹患炎性乳腺癌的妻子。
目錄:目錄(上)

第1部分 用PL/SQL編程

第1章 PL/SQL介紹 3
1.1 什么是PL/SQL 3
1.2 PL/SQL的起源 4
1.2.1 早期的PL/SQL 4
1.2.2 提高應(yīng)用的可移植性 4
1.2.3 提高執(zhí)行權(quán)限控制和交易
完整性 5
1.2.4 低調(diào)開始,持續(xù)改進(jìn) 5
1.3 這就是PL/SQL 6
1.3.1 與SQL的集成 6
1.3.2 控制和條件邏輯 7
1.3.3 出錯(cuò)處理 8
1.4 關(guān)于PL/SQL版本 9
1.4.1 Oracle數(shù)據(jù)庫(kù)12c中PL/SQL
的新特性 10
1.5 可供PL/SQL開發(fā)者使用的
資源 12
1.5.1 O’Reilly的PL/SQL系列圖書 13
1.5.2 網(wǎng)絡(luò)上的PL/SQL資源 14
1.6 一些建議 15
1.6.1 別急,慢慢來 15
1.6.2 不要畏懼尋求幫助 16
1.6.3 采用有創(chuàng)造性的甚至激進(jìn)的
方法 17
第2章 創(chuàng)建和運(yùn)行PL/SQL
代碼 18
2.1 在數(shù)據(jù)庫(kù)中導(dǎo)航 18
2.2 創(chuàng)建和編輯源代碼 19
2.3 SQL*Plus 19
2.3.1 啟動(dòng)SQL*Plus 21
2.3.2 運(yùn)行SQL語(yǔ)句 22
2.3.3 運(yùn)行PL/SQL程序 22
2.3.4 運(yùn)行一個(gè)腳本 24
2.3.5 什么是“當(dāng)前目錄” 24
2.3.6 其他SQL*Plus任務(wù) 25
2.3.7 SQL*Plus中的異常處理 29
2.3.8 為什么SQL*Plus讓我們
又愛又恨 30
2.4 執(zhí)行基本的PL/SQL任務(wù) 30
2.4.1 創(chuàng)建存儲(chǔ)程序 31
2.4.2 執(zhí)行存儲(chǔ)的程序 33
2.4.3 顯示存儲(chǔ)程序 34
2.4.4 存儲(chǔ)程序的授權(quán)和別名 35
2.4.5 刪除一個(gè)存儲(chǔ)程序 36
2.4.6 隱藏存儲(chǔ)程序的源代碼 36
2.5 編輯PL/SQL的環(huán)境 37
2.6 從其他語(yǔ)言中調(diào)用PL/SQL 37
2.6.1 C語(yǔ)言,使用Oracle預(yù)編輯器
(Pro*C) 38
2.6.2 Java:使用JDBC 39
2.6.3 Perl:使用Perl DBI和DBD::
Oracle 40
2.6.4 PHP:使用Oracle擴(kuò)展 41
2.6.5 PL/SQL Server Pages 42
2.6.6 其他 43
第3章 語(yǔ)言基礎(chǔ) 44
3.1 PL/SQL塊結(jié)構(gòu) 44
3.1.1 匿名塊 46
3.1.2 命名塊 47
3.1.3 嵌套塊 47
3.1.4 作用范圍 48
3.1.5 規(guī)范SQL語(yǔ)句中對(duì)變量和
列的引用 49
3.1.6 可見性 51
3.2 PL/SQL字符集 54
3.3 標(biāo)識(shí)符 56
3.3.1 保留字 57
3.3.2 空白和關(guān)鍵字 58
3.4 直接量 59
3.4.1 NULL 60
3.4.2 在一個(gè)直接量字符串中嵌入
單引號(hào) 61
3.4.3 數(shù)字直接量 61
3.4.4 布爾直接量 62
3.5 分號(hào)分隔符 62
3.6 注釋 63
3.6.1 單行注釋語(yǔ)法 63
3.6.2 多行注釋語(yǔ)法 63
3.7 PRAGMA關(guān)鍵字 64
3.8 標(biāo)簽 65

第2部分 PL/SQL程序結(jié)構(gòu)
第4章 條件與順序控制 69
4.1 IF語(yǔ)句 69
4.1.1 IF-THEN組合 69
4.1.2 IF-THEN-ELSE的組合 71
4.1.3 IF-THEN-ELSIF組合 73
4.1.4 避免IF語(yǔ)法陷阱 73
4.1.5 嵌套的IF語(yǔ)句 75
4.1.6 短路估算 75
4.2 CASE語(yǔ)句和表達(dá)式 77
4.2.1 簡(jiǎn)單的CASE語(yǔ)句 77
4.2.2 搜索CASE語(yǔ)句 79
4.2.3 嵌套CASE語(yǔ)句 81
4.2.4 CASE表達(dá)式 81
4.3 GOTO語(yǔ)句 83
4.4 NULL語(yǔ)句 84
4.4.1 提高程序的可讀性 84
4.4.2 在標(biāo)簽后使用NULL 84
第5章 循環(huán)迭代處理 86
5.1 循環(huán)的基礎(chǔ)知識(shí) 86
5.1.1 不同循環(huán)的示例 86
5.1.2 PL/SQL循環(huán)的結(jié)構(gòu) 88
5.2 簡(jiǎn)單循環(huán) 89
5.2.1 終止簡(jiǎn)單循環(huán):EXIT
和EXIT WHEN 89
5.2.2 模仿REPEAT UNTIL循環(huán) 90
5.2.3 故意的無限循環(huán) 91
5.3 WHILE循環(huán) 92
5.4 數(shù)值型FOR循環(huán) 93
5.4.1 數(shù)值型FOR循環(huán)的規(guī)則 94
5.4.2 數(shù)值型FOR循環(huán)的示例 94
5.4.3 處理特殊增量 95
5.5 游標(biāo)FOR循環(huán) 96
5.5.1 游標(biāo)FOR循環(huán)的示例 97
5.6 循環(huán)標(biāo)簽 98
5.7 CONTINUE語(yǔ)句 99
5.8 迭代處理技巧 102
5.8.1 為循環(huán)索引使用可理解的
名稱 102
5.8.2 以正確的方式說再見 102
5.8.3 獲取FOR循環(huán)執(zhí)行的信息 103
5.8.4 循環(huán)SQL語(yǔ)句 104
第6章 異常處理 106
6.1 異常處理概念和術(shù)語(yǔ) 106
6.2 定義異常 108
6.2.1 聲明命名異常 108
6.2.2 關(guān)聯(lián)異常名稱與錯(cuò)誤代碼 109
6.2.3 命名的系統(tǒng)異常 112
6.2.4 異常作用范圍 114
6.3 引發(fā)異常 115
6.3.1 RAISE語(yǔ)句 115
6.3.2 使用RAISE_APPLICATION_
ERROR 116
6.4 處理異常 117
6.4.1 內(nèi)置錯(cuò)誤函數(shù) 118
6.4.2 單一處理句柄中結(jié)合多個(gè)
異常 122
6.4.3 未處理異常 123
6.4.4 未處理異常的傳播 123
6.4.5 繼續(xù)過去的異常 125
6.4.6 編寫WHEN OTHERS處理
代碼 127
6.5 構(gòu)建有效的錯(cuò)誤管理架構(gòu) 129
6.5.1 確定我們的異常管理策略 129
6.5.2 對(duì)不同類型異常進(jìn)行標(biāo)準(zhǔn)化
處理 130
6.5.3 程序特定錯(cuò)誤代碼的組織
使用 133
6.5.4 使用標(biāo)準(zhǔn)的錯(cuò)誤管理程序 133
6.5.5 使用自己的異?!皩?duì)象” 135
6.5.6 創(chuàng)建常見錯(cuò)誤處理的標(biāo)準(zhǔn)
模板 137
6.6 充分利用PL/SQL錯(cuò)誤
管理 138

第3部分 PL/SQL程序數(shù)據(jù)

第7章 使用程序數(shù)據(jù) 141
7.1 程序數(shù)據(jù)的命名 141
7.2 PL/SQL數(shù)據(jù)類型概述 143
7.2.1 字符數(shù)據(jù) 143
7.2.2 數(shù)字 144
7.2.3 日期、時(shí)間戳和時(shí)間間隔 145
7.2.4 布爾類型 145
7.2.5 二進(jìn)制數(shù)據(jù)類型 146
7.2.6 ROWID 146
7.2.7 REF CURSOR 146
7.2.8 Internet數(shù)據(jù)類型 147
7.2.9 “Any”數(shù)據(jù)類型 147
7.2.10 用戶自定義數(shù)據(jù)類型 147
7.3 程序數(shù)據(jù)的聲明 147
7.3.1 聲明一個(gè)變量 148
7.3.2 聲明常量 148
7.3.3 NOT NULL語(yǔ)句 149
7.3.4 錨定聲明 149
7.3.5 游標(biāo)和表的錨 151
7.3.6 使用錨定聲明的益處 152
7.3.7 NOT NULL數(shù)據(jù)類型的錨 153
7.4 程序員定義的子類型 153
7.5 數(shù)據(jù)類型轉(zhuǎn)換 154
7.5.1 隱式類型轉(zhuǎn)換 155
7.5.2 顯式類型轉(zhuǎn)換 156
第8章 字符串 162
8.1 字符串類型 162
8.1.1 VARCHAR2數(shù)據(jù)類型 163
8.1.2 CHAR數(shù)據(jù)類型 164
8.1.3 String子類型 164
8.2 使用字符串 165
8.2.1 指定字符串常量 165
8.2.2 不可打印字符 167
8.2.3 拼接字符串 168
8.2.4 處理大小寫 169
8.2.5 傳統(tǒng)的檢索、提取和替換 172
8.2.6 填充 174
8.2.7 剪裁 176
8.2.8 正則表達(dá)式的檢索、提取和
替換 177
8.2.9 使用空字符串 187
8.2.10 混用CHAR和
VARCHAR2 188
8.3 字符串函數(shù)快速參考 190
第9章 數(shù)字 199
9.1 數(shù)值型數(shù)字類型 199
9.1.1 NUMBER類型 200
9.1.2 PLS_INTEGER類型 204
9.1.3 BINARY_INTEGER類型 205
9.1.4 SIMPLE_INTEGER類型 205
9.1.5 BINARY_FLOAT和
BINARY_DOUBLE類型 207
9.1.6 SIMPLE_FLOAT和
SIMPLE_DOUBLE類型 212
9.1.7 數(shù)字子類型 212
9.2 數(shù)字轉(zhuǎn)換 213
9.2.1 TO_NUMBER函數(shù) 213
9.2.2 TO_CHAR函數(shù) 216
9.2.3 CAST函數(shù) 221
9.2.4 隱式轉(zhuǎn)換 222
9.3 數(shù)字運(yùn)算符 224
9.4 數(shù)字函數(shù) 224
9.4.1 四舍五入和截?cái)嗪瘮?shù) 224
9.4.2 三角函數(shù) 225
9.4.3 數(shù)字函數(shù)的快速參考 225
第10章 日期和時(shí)間戳 230
10.1 Datetime數(shù)據(jù)類型 230
10.1.1 聲明日期時(shí)間變量 233
10.1.2 選擇日期時(shí)間數(shù)據(jù)類型 233
10.2 獲取當(dāng)前日期和時(shí)間 234
10.3 INTERVAL數(shù)據(jù)類型 236
10.3.1 聲明INTERVAL變量 237
10.3.2 什么時(shí)候使用INTERVAL 238
10.4 日期時(shí)間轉(zhuǎn)換 240
10.4.1 從字符串到日期時(shí)間 240
10.4.2 從日期時(shí)間到字符串 242
10.4.3 使用時(shí)區(qū) 245
10.4.4 精確匹配需要格式掩碼 247
10.4.5 讓精確匹配更輕松 248
10.4.6 解釋滑動(dòng)窗口中兩位數(shù)字的
年份 248
10.4.7 把時(shí)區(qū)轉(zhuǎn)換成字符串 249
10.4.8 用填充模式把輸出補(bǔ)齊 250
10.5 日期和時(shí)間戳直接量 251
10.6 時(shí)間間隔的轉(zhuǎn)換 252
10.6.1 從數(shù)字到時(shí)間間隔的轉(zhuǎn)換 252
10.6.2 把字符串轉(zhuǎn)換成間隔 253
10.6.3 時(shí)間間隔的格式化顯示 254
10.7 時(shí)間間隔直接量 254
10.8 CAST和EXTRACT 256
10.8.1 CAST函數(shù) 256
10.8.2 EXTRACT函數(shù) 258
10.9 日期時(shí)間的算法 258
10.9.1 時(shí)間間隔和日期時(shí)間的
算法 259
10.9.2 DATE數(shù)據(jù)類型的日期
算法 260
10.9.3 計(jì)算兩個(gè)日期時(shí)間之間的
時(shí)間間隔 260
10.9.4 DATE和TIMESTAMP混合
計(jì)算 262
10.9.5 時(shí)間間隔的加減運(yùn)算 263
10.9.6 時(shí)間間隔的乘除運(yùn)算 264
10.9.7 使用不受限制的時(shí)間間隔
類型 264
10.10 日期/時(shí)間函數(shù)的快速
參考 266
第11章 記錄類型 269
11.1 PL/SQL中的記錄 269
11.1.1 使用記錄的好處 270
11.1.2 聲明記錄 271
11.1.3 程序員自定義的記錄類型 273
11.1.4 使用記錄類型 275
11.1.5 記錄的比較 281
11.1.6 觸發(fā)器偽記錄 282
第12章 集合 284
12.1 集合概述 285
12.1.1 集合概念和術(shù)語(yǔ) 285
12.1.2 集合類型 287
12.1.3 集合示例 288
12.1.4 使用集合的場(chǎng)合 291
12.1.5 選擇一個(gè)集合類型 296
12.2 集合方法(內(nèi)置) 297
12.2.1 COUNT方法 298
12.2.2 DELETE方法 299
12.2.3 EXISTS方法 300
12.2.4 EXTEND方法 300
12.2.5 FIRST和LAST方法 301
12.2.6 LIMIT方法 302
12.2.7 PRIOR和NEXT方法 303
12.2.8 TRIM方法 304
12.3 使用集合 305
12.3.1 聲明集合類型 306
12.3.2 集合變量的聲明和初始化 310
12.3.3 用數(shù)據(jù)填充集合 313
12.3.4 訪問集合內(nèi)的數(shù)據(jù) 318
12.3.5 使用字符串索引的集合 319
12.3.6 復(fù)雜數(shù)據(jù)類型的集合 324
12.3.7 多級(jí)集合 327
12.3.8 在SQL中使用集合 335
12.4 嵌套表的多重集合操作 342
12.4.1 測(cè)試嵌套表是否相等及成員
歸屬 343
12.4.2 檢查元素是否是嵌套表的
成員 344
12.4.3 執(zhí)行高級(jí)別集合操作 345
12.4.4 嵌套表中的去重 346
12.5 schema級(jí)別集合的維護(hù) 347
12.5.1 必需的權(quán)限 347
12.5.2 集合和數(shù)據(jù)字典 348
第13章 其他數(shù)據(jù)類型 349
13.1 BOOLEAN類型 349
13.2 RAW數(shù)據(jù)類型 350
13.3 UROWID和ROWID數(shù)據(jù)
類型 351
13.3.1 獲取ROWID 352
13.3.2 使用ROWID 352
13.4 LOB數(shù)據(jù)類型 353
13.5 使用LOB 354
13.5.1 理解LOB定位符 356
13.5.2 LOB的空和NULL 357
13.5.3 向LOB中寫入數(shù)據(jù) 359
13.5.4 讀取LOB數(shù)據(jù) 361
13.5.5 BFILE的不同之處 363
13.5.6 SecureFiles和BasicFiles 367
13.5.7 臨時(shí)LOB 369
13.5.8 原生的LOB操作 372
13.5.9 LOB轉(zhuǎn)換函數(shù) 376
13.6 預(yù)定義的對(duì)象類型 376
13.6.1 XMLType類型 376
13.6.2 URI類型 379
13.6.3 Any類型 381

第4部分 PL/SQL中的SQL

第14章 DML和事務(wù)管理 387
14.1 PL/SQL中的DML 388
14.1.1 DML簡(jiǎn)介 388
14.1.2 DML操作符的游標(biāo)屬性 391
14.1.3 從DML語(yǔ)句返回信息 392
14.1.4 DML和異常處理 393
14.1.5 DML和記錄 394
14.2 事務(wù)管理 397
14.2.1 COMMIT語(yǔ)句 397
14.2.2 ROLLBACK語(yǔ)句 398
14.2.3 SAVEPOINT語(yǔ)句 399
14.2.4 SET TRANSACTION語(yǔ)句 399
14.2.5 LOCK TABLE語(yǔ)句 400
14.3 自治事務(wù) 400
14.3.1 定義自治事務(wù) 401
14.3.2 自治事務(wù)的規(guī)則和限制 402
14.3.3 事務(wù)的可見性 403
14.3.4 何時(shí)使用自治事務(wù) 403
14.3.5 創(chuàng)建自治日志記錄機(jī)制 404
第15章 數(shù)據(jù)提取 407
15.1 游標(biāo)基礎(chǔ) 408
15.1.1 一些數(shù)據(jù)提取術(shù)語(yǔ) 408
15.1.2 典型的查詢操作 410
15.1.3 游標(biāo)屬性介紹 411
15.1.4 在游標(biāo)中引用PL/SQL
變量 413
15.1.5 顯式與隱式游標(biāo)之間的
選擇 414
15.2 使用隱式游標(biāo) 414
15.2.1 隱式游標(biāo)示例 415
15.2.2 隱式游標(biāo)的異常處理 416
15.2.3 隱式SQL游標(biāo)的屬性 418
15.3 使用顯式游標(biāo) 419
15.3.1 聲明顯式游標(biāo) 420
15.3.2 打開顯式游標(biāo) 423
15.3.3 從顯式游標(biāo)獲取 424
15.3.4 顯式游標(biāo)中的列別名 425
15.3.5 關(guān)閉顯式游標(biāo) 426
15.3.6 顯式游標(biāo)屬性 427
15.3.7 游標(biāo)參數(shù) 429
15.4 SELECT…FOR UPDATE 432
15.4.1 COMMIT釋放鎖定 433
15.4.2 WHERE CURRENT
OF子句 434
15.5 游標(biāo)變量和REF
CURSOR 435
15.5.1 為什么使用游標(biāo)變量 436
15.5.2 與靜態(tài)游標(biāo)的相似之處 437
15.5.3 聲明REF CURSOR類型 437
15.5.4 聲明游標(biāo)變量 438
15.5.5 打開游標(biāo)變量 439

15.5.6 從游標(biāo)變量中提取數(shù)據(jù) 440
15.5.7 游標(biāo)變量的使用規(guī)則 442
15.5.8 將游標(biāo)變量作為參數(shù)傳遞 445
15.5.9 游標(biāo)變量的約束限制 447
15.6 游標(biāo)表達(dá)式 447
15.6.1 使用游標(biāo)表達(dá)式 448
15.6.2 游標(biāo)表達(dá)式的約束限制 450
第16章 動(dòng)態(tài)SQL和動(dòng)態(tài)
PL/SQL 451
16.1 NDS語(yǔ)句 452
16.1.1 EXECUTE IMMEDIATE
語(yǔ)句 452
16.1.2 OPEN FOR語(yǔ)句 455
16.1.3 4種動(dòng)態(tài)SQL方法 460
16.2 綁定變量 462
16.2.1 參數(shù)模式 463
16.2.2 重復(fù)的占位符 465
16.2.3 傳遞NULL值 465
16.3 使用對(duì)象和集合 466
16.4 動(dòng)態(tài)PL/SQL 468
16.4.1 建立動(dòng)態(tài)PL/SQL塊 469
16.4.2 用動(dòng)態(tài)塊替換重復(fù)代碼 470
16.5 NDS建議 471
16.5.1 對(duì)共享程序使用調(diào)用者
權(quán)限 471
16.5.2 預(yù)測(cè)并處理動(dòng)態(tài)錯(cuò)誤 472
16.5.3 使用綁定而非拼接 474
16.5.4 減少代碼注入的危險(xiǎn) 475
16.6 何時(shí)使用DBMS_SQL 478
16.6.1 獲得查詢列信息 478
16.6.2 實(shí)現(xiàn)第四種方法的動(dòng)態(tài)
SQL需求 479
16.6.3 最小化動(dòng)態(tài)游標(biāo)解析 485
16.6.4 Oracle數(shù)據(jù)庫(kù)11g新動(dòng)態(tài)
SQL特性 486
16.6.5 DBMS_SQL增強(qiáng)安全 490

目錄(下)
第5部分 構(gòu)造PL/SQL應(yīng)用程序
第17章 過程、函數(shù)和參數(shù) 497
17.1 代碼模塊化 497
17.2 過程 499
17.2.1 調(diào)用一個(gè)過程 501
17.2.2 過程頭部 501
17.2.3 過程體 501
17.2.4 END標(biāo)簽 502
17.2.5 RETURN語(yǔ)句 502
17.3 函數(shù) 502
17.3.1 函數(shù)的結(jié)構(gòu) 503
17.3.2 返回的數(shù)據(jù)類型 504
17.3.3 END標(biāo)簽 506
17.3.4 調(diào)用函數(shù) 506
17.3.5 不帶參數(shù)的函數(shù) 507
17.3.6 函數(shù)頭 508
17.3.7 函數(shù)體 508
17.3.8 RETURN語(yǔ)句 509
17.4 參數(shù) 510
17.4.1 定義參數(shù) 511
17.4.2 實(shí)參和形參 511
17.4.3 參數(shù)模式 512
17.4.4 在PL/SQL中顯式地關(guān)聯(lián)
實(shí)參和形參 515
17.4.5 NOCOPY參數(shù)模式限定符 519
17.4.6 缺省值 519
17.5 局部或者嵌套模塊 520
17.5.1 使用局部模塊的益處 521
17.5.2 局部模塊的作用范圍 523
17.5.3 用局部模塊使得代碼更
整潔 524
17.6 模塊的重載 524
17.6.1 重載的益處 525
17.6.2 重載的限制 528
17.6.3 數(shù)字類型的重載 528
17.7 前置聲明 529
17.8 高級(jí)主題 530
17.8.1 在SQL內(nèi)部調(diào)用我們的
函數(shù) 530
17.8.2 表函數(shù) 536
17.8.3 確定性函數(shù) 545
17.8.4 隱式游標(biāo)結(jié)果(Oracle
數(shù)據(jù)庫(kù)12c) 546
17.9 將模塊化進(jìn)行到底 547
第18章 程序包 548
18.1 為什么使用程序包 548
18.1.1 演示程序包的能力 549
18.1.2 與程序包相關(guān)的一些概念 552
18.1.3 圖示私有性 553
18.2 構(gòu)建程序包的規(guī)則 554
18.2.1 程序包說明 554
18.2.2 包體 555
18.2.3 包的初始化 557
18.3 包元素的調(diào)用規(guī)則 561
18.4 使用包數(shù)據(jù) 562
18.4.1 在一個(gè)Oracle會(huì)話內(nèi)全局
可見 562
18.4.2 全局公有數(shù)據(jù) 563
18.4.3 包游標(biāo) 563
18.4.4 包的串行化 568
18.5 何時(shí)使用包 570
18.5.1 封裝對(duì)數(shù)據(jù)的訪問 570
18.5.2 避免直接量的硬編碼 573
18.5.3 提高內(nèi)置特性的可用性 575
18.5.4 把邏輯上相關(guān)的功能組織
在一起 576
18.5.5 緩存靜態(tài)的會(huì)話數(shù)據(jù) 576
18.6 包和對(duì)象類型 577
第19章 觸發(fā)器 578
19.1 DML觸發(fā)器 579
19.1.1 DML觸發(fā)器的概念 580
19.1.2 創(chuàng)建DML觸發(fā)器 581
19.1.3 DML觸發(fā)器的例子:嚴(yán)禁
作弊! 586
19.1.4 同一類型的多個(gè)觸發(fā)器 591
19.1.5 如何對(duì)觸發(fā)順序排序 592
19.1.6 突變表的錯(cuò)誤 594
19.1.7 復(fù)合觸發(fā)器:聚在一處 595
19.2 DDL觸發(fā)器 598
19.2.1 創(chuàng)建DDL觸發(fā)器 598
19.2.2 可用事件 600
19.2.3 可用屬性 601
19.2.4 使用事件和屬性 602
19.2.5 刪除不可刪除的 606
19.2.6 INSTEAD OFCREATE
觸發(fā)器 606
19.3 數(shù)據(jù)庫(kù)事件觸發(fā)器 607
19.3.1 創(chuàng)建數(shù)據(jù)庫(kù)事件觸發(fā)器 608
19.3.2 STARTUP觸發(fā)器 609
19.3.3 SHUTDOWN觸發(fā)器 610
19.3.4 LOGON觸發(fā)器 610
19.3.5 LOGOFF觸發(fā)器 610
19.3.6 SERVERERROR觸發(fā)器 611
19.4 INSTEAD OF觸發(fā)器 615
19.4.1 創(chuàng)建INSTEAD OF觸發(fā)器 615
19.4.2 INSTEAD OF INSERT
觸發(fā)器 616
19.4.3 INSTEAD OF UPDATE
觸發(fā)器 618
19.4.4 INSTEAD OF DELETE
觸發(fā)器 619
19.4.5 填充表 619
19.4.6 嵌套表的lNSTEAD OF
觸發(fā)器 620
19.5 AFTER SUSPEND觸發(fā)器 621
19.5.1 建立AFTER SUSPEND
觸發(fā)器 622
19.5.2 看看真實(shí)的觸發(fā)器 623
19.5.3 ORA_SPACE_ERROR_lNFO
函數(shù) 624
19.5.4 DBMS_RESUMABLE包 625
19.5.5 捕獲多個(gè)時(shí)間 626
19.5.6 是否該處理? 627
19.6 維護(hù)觸發(fā)器 628
19.6.1 禁用、啟用以及刪除
觸發(fā)器 628
19.6.2 創(chuàng)建一個(gè)禁用的觸發(fā)器 628
19.6.3 查看觸發(fā)器 629
19.6.4 檢查觸發(fā)器的有效性 630
第20章 管理PL/SQL代碼 631
20.1 管理數(shù)據(jù)庫(kù)內(nèi)的代碼 632
20.1.1 數(shù)據(jù)字典視圖概述 632
20.1.2 顯示存儲(chǔ)對(duì)象的信息 634
20.1.3 源代碼的顯示和搜索 635
20.1.4 根據(jù)程序的大小確定Pinning
需求 637
20.1.5 獲得存儲(chǔ)代碼的屬性 637
20.1.6 通過視圖分析和更改觸發(fā)器
狀態(tài) 638
20.1.7 分析參數(shù)信息 639
20.1.8 分析標(biāo)識(shí)符的使用(Oracle
數(shù)據(jù)庫(kù)11g的PL/Scope) 640
20.2 管理依賴關(guān)系及重編譯
代碼 643
20.2.1 通過數(shù)據(jù)字典視圖分析依賴
關(guān)系 643
20.2.2 細(xì)粒度依賴(Oracle
數(shù)據(jù)庫(kù)11g) 647
20.2.3 遠(yuǎn)程依賴 648
20.2.4 Oracle的遠(yuǎn)程調(diào)用模式的
限制 650
20.2.5 重編譯無效的程序單元 651
20.3 編譯時(shí)刻警告 655
20.3.1 一個(gè)快速示例 655
20.3.2 開啟編譯時(shí)刻告警 656
20.3.3 一些有用的警告 657
20.4 測(cè)試PL/SQL程序 664
20.4.1 典型的、華而不實(shí)的測(cè)試
技術(shù) 665
20.4.2 PL/SQL代碼測(cè)試的一般
建議 668
20.4.3 PL/SQL的自動(dòng)測(cè)試選項(xiàng) 669
20.5 跟蹤PL/SQL的執(zhí)行 670
20.5.1 DBMS_UTILITY.FORMAT_
CALL_STACK 671
20.5.2 UTL_CALL_STACK(Oracle
數(shù)據(jù)庫(kù)12c) 673
20.5.3 DBMS_APPLICATION_
INFO 676
20.5.4 使用opp_trace進(jìn)行跟蹤 677
20.5.5 DBMS_TRACE工具包 678
20.6 PL/SQL程序的調(diào)試 681
20.6.1 錯(cuò)誤的調(diào)試方法 682
20.6.2 調(diào)試技巧和策略 683
20.7 使用白名單來控制對(duì)程序
單元的訪問 687
20.8 存儲(chǔ)代碼的保護(hù) 689
20.8.1 封裝的約束和局限 690
20.8.2 使用封裝程序 690
20.8.3 使用DBMS_DDL進(jìn)行動(dòng)態(tài)
封裝 690
20.8.4 封裝代碼的使用指導(dǎo) 691
20.9 基于版本的重定義(Oracle
數(shù)據(jù)庫(kù)11g R2版本) 692
第21章 PL/SQL的性能優(yōu)化 695
21.1 輔助優(yōu)化的工具 696
21.1.1 內(nèi)存使用分析 696
21.1.2 發(fā)現(xiàn)PL/SQL代碼中的瓶頸 697
21.1.3 計(jì)算花費(fèi)時(shí)間 701
21.1.4 選擇最快的程序 703
21.1.5 避免無限循環(huán) 704
21.1.6 性能相關(guān)的警告 706
21.2 優(yōu)化編譯器 706
21.2.1 優(yōu)化器工作原理 707
21.2.2 循環(huán)Fetch操作的運(yùn)行
時(shí)優(yōu)化 710
21.3 數(shù)據(jù)緩存技術(shù) 710
21.3.1 基于包的緩存 711
21.3.2 確定性函數(shù)的緩存 716
21.3.3 函數(shù)結(jié)果緩存(Oracle
數(shù)據(jù)庫(kù)11g) 718
21.3.4 緩存總結(jié) 731
21.4 重復(fù)的SQL的語(yǔ)句批
處理 732
21.4.1 通過BULK COLLECT加速
查詢 733
21.4.2 使用FORALL加速DML 739
21.5 利用管道化的表函數(shù)提升
性能 749
21.5.1 用基于管道化函數(shù)的加載
方式替換基于行的插入 750
21.5.2 用管道函數(shù)調(diào)優(yōu)Merge
操作 756
21.5.3 用并行管道函數(shù)進(jìn)行異步
數(shù)據(jù)導(dǎo)出 758
21.5.4 并行管道函數(shù)中的分區(qū)和
流子句對(duì)性能的影響 761
21.5.5 管道函數(shù)和基于成本的
優(yōu)化器 763
21.5.6 用管道函數(shù)優(yōu)化負(fù)載的數(shù)據(jù)
加載 768
21.5.7 管道函數(shù)結(jié)束語(yǔ) 775
21.6 專用的優(yōu)化技術(shù) 775
21.6.1 使用NOCOPY參數(shù)模式
提示符 775
21.6.2 使用正確的數(shù)據(jù)類型 778
21.6.3 SQL(12.1及更高版本)的
函數(shù)性能優(yōu)化 779
21.7 性能回顧 780
第22章 I/O操作和PL/SQL 781
22.1 顯示信息 781
22.1.1 啟用DBMS_OUTPUT 782
22.1.2 向緩存中寫入行 782
22.1.3 從緩存中讀取內(nèi)容 783
22.2 文件的讀寫 784
22.2.1 UTL_FILE_DIR參數(shù) 784
22.2.2 使用Oracle目錄 786
22.2.3 打開文件 787
22.2.4 文件已經(jīng)打開了嗎? 789
22.2.5 關(guān)閉文件 789
22.2.6 讀取文件 790
22.2.7 向文件中寫 792
22.2.8 復(fù)制文件 795
22.2.9 刪除文件 795
22.2.10 改名和移動(dòng)文件 796
22.2.11 提取文件屬性 797
22.3 發(fā)送郵件 798
22.3.1 Oracle的前提條件 798
22.3.2 設(shè)置網(wǎng)絡(luò)安全 799
22.3.3 發(fā)送一個(gè)短的(小于32767字
節(jié))的純文本消息 799
22.3.4 在郵件地址中加上“界面友
好的”的名字 801
22.3.5 發(fā)送任意長(zhǎng)度的純文本
消息 802
22.3.6 發(fā)送帶有小附件(小于32767
字節(jié))的消息 803
22.3.7 以附件形式發(fā)送一個(gè)小文件
(小于32767字節(jié)) 805
22.3.8 任意大小的附件 805

22.4 使用基于Web的數(shù)據(jù)
(HTTP) 808
22.4.1 “分片”獲得一個(gè)Web頁(yè)面 808
22.4.2 把頁(yè)面提取到一個(gè)LOB中 809
22.4.3 使用HTTP的用戶名/密碼
驗(yàn)證 810
22.4.4 獲取一個(gè)SSL加密的Web頁(yè)面
(使用HTTPS) 811
22.4.5 通過GET或者POST向Web頁(yè)
面提交數(shù)據(jù) 812
22.4.6 禁用cookie或者使cookie
持久化 816
22.4.7 從FTP服務(wù)器獲取數(shù)據(jù) 816
22.4.8 使用代理服務(wù)器 817
22.5 PL/SQL中可用的其他I/O
類型 817
22.5.1 數(shù)據(jù)庫(kù)管道、隊(duì)列、告警 817
22.5.2 TCPSocket 818
22.5.3 Oracle的內(nèi)置Web服務(wù)器 818


第6部分 高級(jí)PL/SQL主題
第23章 應(yīng)用系統(tǒng)安全與
PL/SQL 821
23.1 安全概述 821
23.2 加密 822
23.2.1 密鑰長(zhǎng)度 823
23.2.2 算法 824
23.2.3 填補(bǔ)和連接 825
23.2.4 DBMS_CRYPTO包 825
23.2.5 數(shù)據(jù)加密 827
23.2.6 LOB的加密 830
23.2.7 安全文件 830
23.2.8 數(shù)據(jù)解密 831
23.2.9 生成密鑰 832
23.2.10 密鑰的管理 833
23.2.11 加密哈希 838
23.2.12 使用消息驗(yàn)證碼 839
23.2.13 使用透明數(shù)據(jù)加密
(TDE) 841
23.2.14 透明的表空間加密 843
23.3 行級(jí)安全 844
23.3.1 為什么要學(xué)習(xí)RLS 846
23.3.2 一個(gè)簡(jiǎn)單的RLS示例 847
23.3.3 靜態(tài)與動(dòng)態(tài)策略 850
23.3.4 使用列敏感的RLS 854
23.3.5 RLS調(diào)試 857
23.4 應(yīng)用程序上下文 861
23.4.1 使用應(yīng)用程序上下文 862
23.4.2 上下文的安全 863
23.4.3 把上下文用作RLS的謂詞
條件 863
23.4.4 識(shí)別出非數(shù)據(jù)庫(kù)的用戶 867
23.5 細(xì)粒度審計(jì) 868
23.5.1 為什么要學(xué)習(xí)FGA 869
23.5.2 一個(gè)簡(jiǎn)單的FGA示例 870
23.5.3 訪問多少列 872
23.5.4 查看審計(jì)跟蹤信息 873
23.5.5 使用綁定變量 874
23.5.6 使用句柄模塊 875
第24章 PL/SQL架構(gòu) 877
24.1 DIANA 877
24.2 Oracle如何執(zhí)行PL/SQL
代碼 878
24.2.1 一個(gè)示例 879
24.2.2 編譯器的限制 881
24.3 PL/SQL的缺省包 882
24.4 執(zhí)行權(quán)限模型 884
24.4.1 定義者權(quán)限模型 885
24.4.2 調(diào)用者權(quán)限模型 889
24.4.3 組合權(quán)限模型 891
24.4.4 給PL/SQL程序單元授予角色
(Oracle數(shù)據(jù)庫(kù)12c) 892
24.4.5 “誰(shuí)調(diào)用了我?”函數(shù)
(Oracle數(shù)據(jù)庫(kù)12c) 895
24.4.6 視圖的BEQUEATH CURRENT_
USER子句(Oracle數(shù)據(jù)庫(kù)
12c) 895
24.4.7 調(diào)用者權(quán)限優(yōu)點(diǎn)的限制
(Oracle數(shù)據(jù)庫(kù)12c) 897
24.5 條件編譯 898
24.5.1 條件編譯的示例 899
24.5.2 查詢指令 900
24.5.3 $IF指令 903
24.5.4 $ERROR指令 904
24.5.5 將代碼與包常量同步 905
24.5.6 用查詢指令實(shí)現(xiàn)程序?qū)S?
設(shè)置 906
24.5.7 使用預(yù)處理后的代碼 907
24.6 PL/SQL和數(shù)據(jù)庫(kù)實(shí)例
內(nèi)存 908
24.6.1 SGA、PGA和UGA 908
24.6.2 游標(biāo)、內(nèi)存及其他 909
24.6.3 減少內(nèi)存使用的技巧 910
24.6.4 內(nèi)存用光了怎么辦 920
24.7 原生式編譯 922
24.7.1 什么時(shí)候使用解釋模式 922
24.7.2 什么時(shí)候使用原生模式 922
24.7.3 原生編譯和數(shù)據(jù)庫(kù)版本 923
24.8 一些須知 923
第25章 PL/SQL的全球化和
本地化 925
25.1 概述和術(shù)語(yǔ) 926
25.2 Unicode入門 928
25.2.1 國(guó)家字符集的數(shù)據(jù)類型 929
25.2.2 字符編碼 929
25.2.3 和全球化支持相關(guān)的參數(shù) 930
25.2.4 Unicode函數(shù) 931
25.3 字符語(yǔ)義 938
25.4 字符串排序順序 941
25.4.1 二進(jìn)制排序 942
25.4.2 單語(yǔ)言排序 943
25.4.3 多語(yǔ)言排序 945
25.5 多語(yǔ)言信息檢索 946
25.5.1 信息檢索和PL/SQL 948
25.6 日期/時(shí)間 950
25.6.1 時(shí)間戳數(shù)據(jù)類型 951
25.6.2 日期/時(shí)間格式 952
25.7 貨幣轉(zhuǎn)換 955
25.8 PL/SQL的全球化開發(fā)
工具箱 957
25.8.1 UTL_I18N工具包 957
25.8.2 UTL_LMS異常處理包 960
25.8.3 GDK實(shí)現(xiàn)選項(xiàng) 961
第26章 PL/SQL的面向?qū)ο?
特性 963
26.1 Oracle對(duì)象特性的介紹 963
26.2 對(duì)象類型示例 965
26.2.1 創(chuàng)建一個(gè)基類 966
26.2.2 創(chuàng)建子類型 967
26.2.3 方法 968
26.2.4 在Oracle數(shù)據(jù)庫(kù)11g及以后
版本中調(diào)用父類的方法 972
26.2.5 保存、提取、使用持久化
對(duì)象 974
26.2.6 演變和創(chuàng)建 981
26.2.7 回到指針嗎? 983
26.2.8 泛化數(shù)據(jù):ANY類型 989
26.2.9 我們自己做 993
26.2.10 對(duì)象的比較 996
26.3 對(duì)象視圖 1001
26.3.1 一個(gè)關(guān)系型系統(tǒng)的示例 1002
26.3.2 帶有集合屬性的對(duì)象視圖 1003
26.3.3 對(duì)象子視圖 1006
26.3.4 帶有反關(guān)系的對(duì)象視圖 1008
26.3.5 INSTEAD OF觸發(fā)器 1008
26.3.6 對(duì)象視圖和對(duì)象表的區(qū)別 1010
26.4 維護(hù)對(duì)象類型和對(duì)象視圖 1012
26.4.1 數(shù)據(jù)字典 1012
26.4.2 權(quán)限 1013
26.5 來自一個(gè)關(guān)系開發(fā)者的總結(jié)
思考(C551, E1200) 1015
第27章 從PL/SQL中調(diào)用
Java 1017
27.1 Oracle和Java 1017
27.2 準(zhǔn)備好在Oracle中使用
Java 1018
27.2.1 安裝Java 1019
27.2.2 創(chuàng)建和編譯我們的Java
代碼 1019
27.2.3 設(shè)置Java開發(fā)和執(zhí)行的
權(quán)限 1020
27.3 一個(gè)簡(jiǎn)單的演示 1022
27.3.1 查找Java功能 1023
27.3.2 創(chuàng)建一個(gè)自定義Java類 1023
27.3.3 編譯和加載到Oracle 1025
27.3.4 創(chuàng)建一個(gè)PL/SQL的
包裝器 1026
27.3.5 從PL/SQL刪除文件 1027
27.4 使用loadjava 1028
27.5 使用dropjava 1030
27.6 管理數(shù)據(jù)庫(kù)中的Java 1030
27.6.1 Oracle中的Java命名空間 1030
27.6.2 檢查加載的Java元素 1031
27.7 使用DBMS_JAVA 1032
27.7.1 LONGNAME:轉(zhuǎn)換Java
長(zhǎng)名字 1032
27.7.2 GET_、SET_和RESET_
COMPILER_OPTION:
得到和設(shè)置(一些)
編譯器選項(xiàng) 1033
27.7.3 SET_OUTPUT:允許從
Java中輸出 1034
27.7.4 EXPORT_SOURCE、EXPORT_
RESOURCE和EXPORT_
CLASS:導(dǎo)出模式對(duì)象 1034
27.8 在PL/SQL中發(fā)布與
使用Java 1036
27.8.1 調(diào)用規(guī)范 1036
27.8.2 一些調(diào)用規(guī)范的規(guī)則 1037
27.8.3 映射數(shù)據(jù)類型 1038
27.8.4 在SQL中調(diào)用Java方法 1039
27.8.5 Java的異常處理 1040
27.8.6 擴(kuò)展文件I/O功能 1042
27.8.7 其他示例 1046
第28章 外部過程 1049
28.1 外部過程介紹 1050
28.1.1 示例:調(diào)用一個(gè)系統(tǒng)命令 1050
28.1.2 外部過程的架構(gòu) 1052
28.2 Oracle網(wǎng)絡(luò)配置 1053
28.2.1 定義監(jiān)聽配置 1053
28.2.2 配置的安全特性 1055
28.3 設(shè)置多線程模式 1056
28.4 創(chuàng)建一個(gè)Oracle庫(kù) 1058
28.5 編寫調(diào)用規(guī)范 1059
28.5.1 調(diào)用規(guī)范:整體語(yǔ)法 1060
28.5.2 參數(shù)映射:示例重溫 1061
28.5.3 參數(shù)映射:完整的內(nèi)容 1063
28.5.4 更多的語(yǔ)法:參數(shù)子句 1064
28.5.5 參數(shù)屬性 1065
28.6 從調(diào)用的C程序中引發(fā)
一個(gè)異常 1068
28.7 非默認(rèn)的代理 1071
28.8 維護(hù)外部過程 1073
28.8.1 刪除庫(kù) 1073
28.8.2 數(shù)據(jù)字典 1074
28.8.3 規(guī)則和警示 1074
附錄A 正則表達(dá)式元字符和函數(shù)
參數(shù) 1075
附錄B 數(shù)字格式模型 1080
附錄C 日期格式模型 1083
熱門推薦文章
相關(guān)優(yōu)評(píng)榜
品類齊全,輕松購(gòu)物 多倉(cāng)直發(fā),極速配送 正品行貨,精致服務(wù) 天天低價(jià),暢選無憂
購(gòu)物指南
購(gòu)物流程
會(huì)員介紹
生活旅行/團(tuán)購(gòu)
常見問題
大家電
聯(lián)系客服
配送方式
上門自提
211限時(shí)達(dá)
配送服務(wù)查詢
配送費(fèi)收取標(biāo)準(zhǔn)
海外配送
支付方式
貨到付款
在線支付
分期付款
郵局匯款
公司轉(zhuǎn)賬
售后服務(wù)
售后政策
價(jià)格保護(hù)
退款說明
返修/退換貨
取消訂單
特色服務(wù)
奪寶島
DIY裝機(jī)
延保服務(wù)
京東E卡
京東通信
京東JD+