注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)SQL SeverOracle Database 11g SQL開(kāi)發(fā)指南

Oracle Database 11g SQL開(kāi)發(fā)指南

Oracle Database 11g SQL開(kāi)發(fā)指南

定 價(jià):¥78.00

作 者: (美)皮拉斯(Price,J.) 著,史新元,北英 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: Oracle

購(gòu)買這本書(shū)可以去


ISBN: 9787302185895 出版時(shí)間: 2008-11-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 600 字?jǐn)?shù):  

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

  Oracle專家Jason Price帶您一起學(xué)習(xí)如何通過(guò)SQL語(yǔ)句和PL/SQL程序訪問(wèn)Oracle數(shù)據(jù)庫(kù)。本書(shū)是Oracle Press重磅推出的一本關(guān)于Oracle Database 11g SQL的專著,是掌握SQL的必讀之作。本書(shū)深入淺出、全面細(xì)致地講解了如何讀取和修改數(shù)據(jù)庫(kù)信息,如何使用SQL Plus和SQL Developer,如何使用數(shù)據(jù)庫(kù)對(duì)象,如何編寫(xiě)PL/SQL程序等內(nèi)容。隨著對(duì)本書(shū)學(xué)習(xí)的深入,讀者將循序漸進(jìn)地掌握最新的SQL特性和工具、性能優(yōu)化技術(shù)、高級(jí)查詢、Java支持以及XML應(yīng)用。

作者簡(jiǎn)介

  Jason Price是一位職業(yè)咨詢專家,0racle公司前產(chǎn)品經(jīng)理。他對(duì)Oracle的眾多產(chǎn)品都做出了卓越的貢獻(xiàn),包括數(shù)據(jù)庫(kù)、應(yīng)用服務(wù)器和若干CRM應(yīng)用程序。Jason是一位經(jīng)Oracle認(rèn)證的數(shù)據(jù)庫(kù)管理員和應(yīng)用程序開(kāi)發(fā)人員,在軟件行業(yè)具有15年以上的從業(yè)經(jīng)驗(yàn),并執(zhí)筆撰寫(xiě)了多本關(guān)于Oracle、Java和NET的優(yōu)秀圖書(shū)。Jason獲得了英國(guó)布里斯托爾大學(xué)的物理學(xué)榮譽(yù)科學(xué)學(xué)士學(xué)位。技術(shù)編輯簡(jiǎn)介Scott Mikolaitis是Oracle公司的應(yīng)用程序設(shè)計(jì)師,在Oracle公司工作10余年。他參與完成了Oracle Fusion的SOA技術(shù)原型和標(biāo)準(zhǔn)的開(kāi)發(fā)Scott致力于用Java開(kāi)發(fā)Web服務(wù)的工作,并參與人與系統(tǒng)交互模式的.Jabber。業(yè)余時(shí)間,他喜歡自己動(dòng)手改進(jìn)家居用品和天燃汽RC汽車。

圖書(shū)目錄

第1章 簡(jiǎn)介 1
1.1 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介 2
1.2 結(jié)構(gòu)化查詢語(yǔ)言(SQL)簡(jiǎn)介 2
1.3 使用SQL*Plus 4
1.3.1 啟動(dòng)SQL*Plus 4
1.3.2 從命令行啟動(dòng)SQL*Plus 5
1.3.3 使用SQL*Plus執(zhí)行SELECT語(yǔ)句 6
1.4 SQL Developer 7
1.5 創(chuàng)建store模式 9
1.5.1 運(yùn)行SQL*Plus腳本創(chuàng)建store模式 9
1.5.2 用來(lái)創(chuàng)建store模式的DDL語(yǔ)句 10
1.6 添加、修改、刪除行 18
1.6.1 向表中添加行 18
1.6.2 修改表中的現(xiàn)有行 19
1.6.3 從表中刪除行 20
1.7 BINARY_FLOAT和BINARY_ DOUBLE數(shù)據(jù)類型 21
1.7.1 BINARY_FLOAT和BINARY_DOUBLE的優(yōu)點(diǎn) 21
1.7.2 在表中使用BINARY_FLOAT和BINARY_DOUBLE 21
1.7.3 特殊值 22
1.8 退出SQL*Plus 23
1.9 Oracle PL/SQL簡(jiǎn)介 23
1.10 小結(jié) 24
第2章 從數(shù)據(jù)庫(kù)表中檢索信息 25
2.1 對(duì)單表執(zhí)行SELECT語(yǔ)句 25
2.2 選擇一個(gè)表中的所有列 26
2.3 使用WHERE子句過(guò)濾行 27
2.4 理解行標(biāo)識(shí)符 27
2.5 理解行號(hào) 28
2.6 執(zhí)行算術(shù)運(yùn)算 28
2.6.1 日期運(yùn)算 29
2.6.2 列運(yùn)算 30
2.7 使用列別名 31
2.8 使用連接操作合并列的輸出結(jié)果 32
2.9 理解空值 33
2.10 禁止顯示重復(fù)行 34
2.11 比較值 35
2.12 使用SQL操作符 37
2.12.1 使用LIKE操作符 37
2.12.2 使用IN操作符 38
2.12.3 使用BETWEEN操作符 39
2.13 使用邏輯操作符 40
2.14 理解操作符的優(yōu)先級(jí) 41
2.15 使用ORDER BY子句對(duì)行進(jìn)行排序 41
2.16 執(zhí)行使用兩個(gè)表的SELECT語(yǔ)句 42
2.17 使用表別名 44
2.18 笛卡爾積 45
2.19 執(zhí)行使用多于兩個(gè)表的SELECT語(yǔ)句 46
2.20 連接條件和連接類型 47
2.20.1 不等連接 47
2.20.2 外連接 48
2.20.3 自連接 51
2.21 使用SQL/92語(yǔ)法執(zhí)行連接 52
2.21.1 使用SQL/92標(biāo)準(zhǔn)語(yǔ)法執(zhí)行兩個(gè)表的內(nèi)連接 53
2.21.2 使用USING關(guān)鍵字簡(jiǎn)化連接 53
2.21.3 使用SQL/92執(zhí)行多于兩個(gè)表的內(nèi)連接 54
2.21.4 使用SQL/92執(zhí)行多列的內(nèi)連接 55
2.21.5 使用SQL/92執(zhí)行外連接 55
2.21.6 使用SQL/92執(zhí)行自連接 56
2.21.7 使用SQL/92執(zhí)行交叉
連接 57
2.22 小結(jié) 57
第3章 使用SQL*Plus 59
3.1 查看表結(jié)構(gòu) 60
3.2 編輯SQL語(yǔ)句 60
3.3 保存、檢索并運(yùn)行文件 62
3.4 格式化列 65
3.5 設(shè)置頁(yè)面大小 67
3.6 設(shè)置行大小 68
3.7 清除列格式 68
3.8 使用變量 69
3.8.1 臨時(shí)變量 69
3.8.2 已定義變量 72
3.9 創(chuàng)建簡(jiǎn)單報(bào)表 74
3.9.1 在腳本中使用臨時(shí)變量 74
3.9.2 在腳本中使用已定義變量 75
3.9.3 向腳本中的變量傳遞值 75
3.9.4 添加頁(yè)眉和頁(yè)腳 76
3.9.5 計(jì)算小計(jì) 78
3.10 從SQL*Plus獲取幫助信息 79
3.11 自動(dòng)生成SQL語(yǔ)句 80
3.12 斷開(kāi)數(shù)據(jù)庫(kù)連接并退出SQL*Plus 81
3.13 小結(jié) 81
第4章 使用簡(jiǎn)單函數(shù) 83
4.1 使用單行函數(shù) 84
4.1.1 字符函數(shù) 84
4.1.2 數(shù)字函數(shù) 92
4.1.3 轉(zhuǎn)換函數(shù) 96
4.1.4 正則表達(dá)式函數(shù) 102
4.2 使用聚合函數(shù) 108
4.2.1 AVG函數(shù) 109
4.2.2 COUNT函數(shù) 110
4.2.3 MAX和MIN函數(shù) 110
4.2.4 STDDEV函數(shù) 111
4.2.5 SUM函數(shù) 111
4.2.6 VARIANCE函數(shù) 112
4.3 對(duì)行進(jìn)行分組 112
4.3.1 使用GROUP BY子句對(duì)行進(jìn)行分組 112
4.3.2 調(diào)用聚合函數(shù)的錯(cuò)誤用法 115
4.3.3 使用HAVING子句過(guò)濾行組 116
4.3.4 組合使用WHERE和GROUP BY子句 117
4.3.5 組合使用WHERE、GROUP
BY和HAVING子句 117
4.4 小結(jié) 118
第5章 日期和時(shí)間的存儲(chǔ)與處理 119
5.1 幾個(gè)簡(jiǎn)單的存儲(chǔ)和檢索日期的例子 120
5.2 使用TO_CHAR()和
TO_DATE()轉(zhuǎn)換時(shí)間值 121
5.2.1 使用TO_CHAR()將時(shí)間值轉(zhuǎn)換為字符串 121
5.2.2 使用TO_DATE()將字符串轉(zhuǎn)換為時(shí)間值 125
5.3 設(shè)置默認(rèn)的日期格式 128
5.4 Oracle對(duì)2位年份的處理 129
5.4.1 使用YY格式 129
5.4.2 使用RR格式 130
5.5 使用時(shí)間值函數(shù) 131
5.5.1 ADD_MONTHS函數(shù) 131
5.5.2 LAST_DAY函數(shù) 132
5.5.3 MONTHS_BETWEEN函數(shù) 133
5.5.4 NEXT_DAY函數(shù) 133
5.5.5 ROUND函數(shù) 133
5.5.6 SYSDATE 134
5.5.7 TRUNC函數(shù) 134
5.6 理解時(shí)區(qū) 135
5.6.1 與時(shí)區(qū)有關(guān)的函數(shù) 136
5.6.2 數(shù)據(jù)庫(kù)時(shí)區(qū)和會(huì)話時(shí)區(qū) 136
5.6.3 獲取時(shí)區(qū)的時(shí)差 137
5.6.4 獲取時(shí)區(qū)名 138
5.6.5 將時(shí)間值從一個(gè)時(shí)區(qū)轉(zhuǎn)換為另一個(gè)時(shí)區(qū) 138
5.7 使用時(shí)間戳 139
5.7.1 使用時(shí)間戳類型 139
5.7.2 與時(shí)間戳有關(guān)的函數(shù) 143
5.8 使用時(shí)間間隔 148
5.8.1 使用INTERVAL YEAR TO MONTH類型 149
5.8.2 使用INTERVAL DAY TO
SECOND類型 150
5.8.3 與時(shí)間間隔有關(guān)的函數(shù) 152
5.9 小結(jié) 153
第6章 子查詢 155
6.1 子查詢的類型 155
6.2 編寫(xiě)單行子查詢 156
6.2.1 在WHERE子句中使用子查詢 156
6.2.2 使用其他單行操作符 157
6.2.3 在HAVING子句中使用子查詢 157
6.2.4 在FROM子句中使用子查詢(內(nèi)聯(lián)視圖) 159
6.2.5 可能碰到的錯(cuò)誤 159
6.3 編寫(xiě)多行子查詢 160
6.3.1 在多行子查詢中使用IN操作符 161
6.3.2 在多行子查詢中使用ANY操作符 162
6.3.3 在多行子查詢中使用ALL操作符 162
6.4 編寫(xiě)多列子查詢 162
6.5 編寫(xiě)關(guān)聯(lián)子查詢 163
6.5.1 關(guān)聯(lián)子查詢的例子 163
6.5.2 在關(guān)聯(lián)子查詢中使用EXISTS和NOT EXISTS 164
6.6 編寫(xiě)嵌套子查詢 166
6.7 編寫(xiě)包含子查詢的UPDATE和DELETE語(yǔ)句 168
6.7.1 編寫(xiě)包含子查詢的UPDATE語(yǔ)句 168
6.7.2 編寫(xiě)包含子查詢的DELETE語(yǔ)句 168
6.8 小結(jié) 169
第7章 高級(jí)查詢 171
7.1 使用集合操作符 172
7.1.1 示例表 172
7.1.2 使用UNION ALL操作符 173
7.1.3 使用UNION操作符 174
7.1.4 使用INTERSECT操作符 175
7.1.5 使用MINUS操作符 175
7.1.6 組合使用集合操作符 176
7.2 使用TRANSLATE函數(shù) 178
7.3 使用DECODE()函數(shù) 179
7.4 使用CASE表達(dá)式 181
7.4.1 使用簡(jiǎn)單CASE表達(dá)式 181
7.4.2 使用搜索CASE表達(dá)式 182
7.5 層次化查詢 183
7.5.1 示例數(shù)據(jù) 183
7.5.2 使用CONNECT BY和
START WITH子句 185
7.5.3 使用偽列LEVEL 185
7.5.4 格式化層次化查詢的結(jié)果 186
7.5.5 從非根節(jié)點(diǎn)開(kāi)始遍歷 187
7.5.6 在START WITH子句中使用子查詢 187
7.5.7 從下向上遍歷樹(shù) 188
7.5.8 從層次查詢中刪除節(jié)點(diǎn)和分支 188
7.5.9 在層次化查詢中加入其他條件 189
7.6 使用擴(kuò)展的GROUP BY子句 190
7.7 使用ROLLUP子句 192
7.7.1 使用CUBE子句 194
7.7.2 使用GROUPING函數(shù) 195
7.7.3 使用GROUPING SETS子句 198
7.7.4 使用GROUPING_ID函數(shù) 199
7.7.5 在GROUP BY子句中多次使用一個(gè)列 201
7.7.6 使用GROUP_ID函數(shù) 201
7.8 使用分析函數(shù) 203
7.8.1 示例表 203
7.8.2 使用評(píng)級(jí)函數(shù) 204
7.8.3 使用反百分點(diǎn)函數(shù) 211
7.8.4 使用窗口函數(shù) 211
7.8.5 使用報(bào)表函數(shù) 216
7.8.6 使用LAG和LEAD函數(shù) 218
7.8.7 使用FIRST和LAST函數(shù) 219
7.8.8 使用線性回歸函數(shù) 219
7.8.9 使用假想評(píng)級(jí)與分布函數(shù) 221
7.9 使用MODEL子句 221
7.9.1 MODEL子句示例 222
7.9.2 用位置標(biāo)記和符號(hào)標(biāo)記訪問(wèn)數(shù)據(jù)單元 223
7.9.3 用BETWEEN和AND返回特定范圍內(nèi)的數(shù)據(jù)單元 224
7.9.4 用ANY和IS ANY訪問(wèn)所有的數(shù)據(jù)單元 224
7.9.5 用CURRENTV()獲取某個(gè)維度的當(dāng)前值 225
7.9.6 用FOR循環(huán)訪問(wèn)數(shù)據(jù)單元 226
7.9.7 處理空值和缺失值 227
7.9.8 更新已有的單元 229
7.10 使用PIVOT和UNPIVOT子句 230
7.10.1 PIVOT子句示例 230
7.10.2 轉(zhuǎn)換多個(gè)列 231
7.10.3 在轉(zhuǎn)換中使用多個(gè)聚合函數(shù) 232
7.10.4 使用UNPIVOT子句 233
7.11 小結(jié) 234
第8章 修改表的內(nèi)容 237
8.1 使用INSERT語(yǔ)句添加行 237
8.1.1 省略列的列表 239
8.1.2 為列指定空值 239
8.1.3 在列值中使用單引號(hào)和雙引號(hào) 239
8.1.4 從一個(gè)表向另外一個(gè)表復(fù)制行 239
8.2 使用UPDATE語(yǔ)句修改行 240
8.3 RETURNING子句 241
8.4 使用DELETE語(yǔ)句刪除行 242
8.5 數(shù)據(jù)庫(kù)的完整性 242
8.5.1 主鍵約束 242
8.5.2 外鍵約束 243
8.6 使用默認(rèn)值 244
8.7 使用MERGE合并行 245
8.8 數(shù)據(jù)庫(kù)事務(wù) 247
8.8.1 事務(wù)的提交和回滾 247
8.8.2 事務(wù)的開(kāi)始與結(jié)束 248
8.8.3 保存點(diǎn) 249
8.8.4 事務(wù)的ACID特性 251
8.8.5 并發(fā)事務(wù) 251
8.8.6 事務(wù)鎖 252
8.8.7 事務(wù)隔離級(jí)別 253
8.8.8 SERIALIZABLE事務(wù)的一個(gè)例子 254
8.9 查詢閃回 254
8.9.1 使用閃回的授權(quán) 254
8.9.2 時(shí)間查詢閃回 255
8.9.3 系統(tǒng)變更號(hào)查詢閃回 256
8.10 小結(jié) 258
第9章 用戶、特權(quán)和角色 259
9.1 用戶 260
9.1.1 創(chuàng)建用戶 260
9.1.2 修改用戶密碼 261
9.1.3 刪除用戶 261
9.2 系統(tǒng)特權(quán) 262
9.2.1 向用戶授予系統(tǒng)特權(quán) 263
9.2.2 檢查授予用戶的系統(tǒng)特權(quán) 263
9.2.3 使用系統(tǒng)特權(quán) 264
9.2.4 撤消用戶的系統(tǒng)特權(quán) 264
9.3 對(duì)象特權(quán) 265
9.3.1 向用戶授予對(duì)象特權(quán) 265
9.3.2 檢查已授予的對(duì)象特權(quán) 266
9.3.3 檢查已接受的對(duì)象特權(quán) 267
9.3.4 使用對(duì)象特權(quán) 269
9.3.5 同名對(duì)象 269
9.3.6 公共同名對(duì)象 270
9.3.7 撤消用戶的對(duì)象特權(quán) 271
9.4 角色 271
9.4.1 創(chuàng)建角色 271
9.4.2 為角色授權(quán) 272
9.4.3 將角色授予用戶 272
9.4.4 檢查授予用戶的角色 273
9.4.5 檢查授予角色的系統(tǒng)特權(quán) 274
9.4.6 檢查授予角色的對(duì)象特權(quán) 274
9.4.7 使用授予角色的特權(quán) 276
9.4.8 默認(rèn)角色 276
9.4.9 撤消角色 277
9.4.10 從角色中撤消特權(quán) 277
9.4.11 刪除角色 277
9.5 審計(jì) 277
9.5.1 執(zhí)行審計(jì)需要的特權(quán) 277
9.5.2 審計(jì)示例 278
9.5.3 審計(jì)跟蹤視圖 279
9.6 小結(jié) 280
第10章 創(chuàng)建表、序列、索引和視圖 281
10.1 表 282
10.1.1 創(chuàng)建表 282
10.1.2 獲得有關(guān)表的信息 283
10.1.3 獲得表中列的信息 284
10.1.4 修改表 285
10.1.5 重命名表 294
10.1.6 向表中添加注釋 294
10.1.7 截?cái)啾?295
10.1.8 刪除表 295
10.2 序列 295
10.2.1 創(chuàng)建序列 295
10.2.2 獲取有關(guān)序列的信息 297
10.2.3 使用序列 298
10.2.4 使用序列填充主鍵 299
10.2.5 修改序列 300
10.2.6 刪除序列 301
10.3 索引 301
10.3.1 創(chuàng)建B-樹(shù)索引 302
10.3.2 創(chuàng)建基于函數(shù)的索引 303
10.3.3 獲取有關(guān)索引的信息 303
10.3.4 獲取列索引的信息 304
10.3.5 修改索引 304
10.3.6 刪除索引 305
10.3.7 創(chuàng)建位圖索引 305
10.4 視圖 305
10.4.1 創(chuàng)建并使用視圖 306
10.4.2 修改視圖 313
10.4.3 刪除視圖 314
10.5 閃回?cái)?shù)據(jù)歸檔 314
10.6 小結(jié) 316
第11章 PL/SQL編程簡(jiǎn)介 317
11.1 塊結(jié)構(gòu) 318
11.2 變量和類型 319
11.3 條件邏輯 320
11.4 循環(huán) 320
11.4.1 簡(jiǎn)單循環(huán) 321
11.4.2 WHILE循環(huán) 322
11.4.3 FOR循環(huán) 322
11.5 游標(biāo) 323
11.5.1 步驟1:聲明用于保存列值的變量 323
11.5.2 步驟2:聲明游標(biāo) 323
11.5.3 步驟3:打開(kāi)游標(biāo) 324
11.5.4 步驟4:從游標(biāo)中取得記錄 324
11.5.5 步驟5:關(guān)閉游標(biāo) 325
11.5.6 完整的示例:product_cursor.sql 325
11.5.7 游標(biāo)與FOR循環(huán) 326
11.5.8 OPEN-FOR語(yǔ)句 327
11.5.9 無(wú)約束游標(biāo) 329
11.6 異常 330
11.6.1 ZERO_DIVIDE異常 332
11.6.2 DUP_VAL_ON_INDEX異常 333
11.6.3 INVALID_NUMBER異常 333
11.6.4 OTHERS異常 333
11.7 過(guò)程 334
11.7.1 創(chuàng)建過(guò)程 334
11.7.2 調(diào)用過(guò)程 337
11.7.3 獲取有關(guān)過(guò)程的信息 338
11.7.4 刪除過(guò)程 338
11.7.5 查看過(guò)程中的錯(cuò)誤 338
11.8 函數(shù) 339
11.8.1 創(chuàng)建函數(shù) 339
11.8.2 調(diào)用函數(shù) 340
11.8.3 獲取有關(guān)函數(shù)的信息 341
11.8.4 刪除函數(shù) 341
11.9 包 341
11.9.1 創(chuàng)建包規(guī)范 342
11.9.2 創(chuàng)建包體 342
11.9.3 調(diào)用包中的函數(shù)和過(guò)程 344
11.9.4 獲取有關(guān)包中函數(shù)和過(guò)程的信息 344
11.9.5 刪除包 345
11.10 觸發(fā)器 345
11.10.1 觸發(fā)器運(yùn)行的時(shí)機(jī) 345
11.10.2 設(shè)置示例觸發(fā)器 345
11.10.3 創(chuàng)建觸發(fā)器 346
11.10.4 激活觸發(fā)器 347
11.10.5 獲取有關(guān)觸發(fā)器的信息 348
11.10.6 禁用和啟用觸發(fā)器 350
11.10.7 刪除觸發(fā)器 350
11.11 Oracle Database 11g新增加的PL/SQL特性 350
11.11.1 SIMPLE_INTEGER類型 350
11.11.2 在PL/SQL中使用序列 351
11.11.3 PL/SQL本地機(jī)器代碼生成 352
11.12 小結(jié) 353
第12章 數(shù)據(jù)庫(kù)對(duì)象 355
12.1 對(duì)象簡(jiǎn)介 356
12.2 創(chuàng)建對(duì)象類型 356
12.3 使用DESCRIBE獲取有關(guān)對(duì)象類型的信息 358
12.4 在數(shù)據(jù)庫(kù)表中使用對(duì)象類型 359
12.4.1 列對(duì)象 359
12.4.2 對(duì)象表 361
12.4.3 對(duì)象標(biāo)識(shí)符和對(duì)象引用 365
12.4.4 比較對(duì)象值 367
12.5 在PL/SQL中使用對(duì)象 369
12.5.1 get_products()函數(shù) 370
12.5.2 display_product()過(guò)程 371
12.5.3 insert_product()過(guò)程 372
12.5.4 update_product_price()過(guò)程 373
12.5.5 get_product()函數(shù) 373
12.5.6 update_product()過(guò)程 374
12.5.7 get_product_ref()函數(shù) 375
12.5.8 delete_product()過(guò)程 375
12.5.9 product_lifecycle()過(guò)程 376
12.5.10 product_lifecycle2()過(guò)程 377
12.6 類型繼承 378
12.7 用子類型對(duì)象代替超類型對(duì)象 380
12.7.1 SQL例子 380
12.7.2 PL/SQL例子 381
12.7.3 NOT SUBSTITUTABLE對(duì)象 382
12.8 其他有用的對(duì)象函數(shù) 383
12.8.1 IS OF() 383
12.8.2 TREAT() 387
12.8.3 SYS_TYPEID() 391
12.9 NOT INSTANTIABLE對(duì)象類型 391
12.10 用戶自定義的構(gòu)造函數(shù) 393
12.11 重載方法 396
12.12 通用調(diào)用 398
12.13 小結(jié) 400
第13章 集合 401
13.1 集合簡(jiǎn)介 401
13.2 創(chuàng)建集合類型 402
13.2.1 創(chuàng)建變長(zhǎng)數(shù)組類型 402
13.2.2 創(chuàng)建嵌套表類型 403
13.3 使用集合類型定義表列 403
13.3.1 使用變長(zhǎng)數(shù)組類型定義表列 403
13.3.2 使用嵌套表類型定義表列 404
13.4 獲取集合信息 404
13.4.1 獲取變長(zhǎng)數(shù)組信息 404
13.4.2 獲得嵌套表信息 405
13.5 填充集合元素 407
13.5.1 填充變長(zhǎng)數(shù)組元素 407
13.5.2 填充嵌套表元素 407
13.6 檢索集合元素 408
13.6.1 檢索變長(zhǎng)數(shù)組元素 408
13.6.2 檢索嵌套表元素 409
13.7 使用TABLE()將集合視為一系列行 409
13.7.1 將TABLE()用于變長(zhǎng)數(shù)組 410
13.7.2 將TABLE()用于嵌套表 411
13.8 更改集合元素 411
13.8.1 更改變長(zhǎng)數(shù)組元素 411
13.8.2 更改嵌套表元素 412
13.9 使用映射方法比較嵌套表的內(nèi)容 413
13.10 使用CAST()將集合從一種類型轉(zhuǎn)換為另一種類型 415
13.10.1 使用CAST()將變長(zhǎng)數(shù)組轉(zhuǎn)換為嵌套表 416
13.10.2 使用CAST()將嵌套表轉(zhuǎn)換為變長(zhǎng)數(shù)組 416
13.11 在PL/SQL中使用集合 417
13.11.1 操作變長(zhǎng)數(shù)組 417
13.11.2 操作嵌套表 419
13.11.3 PL/SQL集合方法 421
13.12 多級(jí)集合類型 431
13.13 Oracle Database 10g對(duì)集合的增強(qiáng) 433
13.13.1 關(guān)聯(lián)數(shù)組 434
13.13.2 更改元素類型的大小 435
13.13.3 增加變長(zhǎng)數(shù)組的元素?cái)?shù)目 435
13.13.4 在臨時(shí)表中使用變長(zhǎng)數(shù)組 435
13.13.5 為嵌套表的存儲(chǔ)表使用不同的表空間 435
13.13.6 嵌套表對(duì)ANSI的支持 436
13.14 小結(jié) 444
第14章 大對(duì)象 447
14.1 大對(duì)象(LOB)簡(jiǎn)介 448
14.2 示例文件 448
14.3 理解大對(duì)象類型 449
14.4 創(chuàng)建包含大對(duì)象的表 449
14.5 在SQL中使用大對(duì)象 450
14.5.1 使用CLOB和BLOB 450
14.5.2 使用BFILE 452
14.6 在PL/SQL中使用大對(duì)象 454
14.6.1 APPEND() 456
14.6.2 CLOSE() 457
14.6.3 COMPARE() 457
14.6.4 COPY() 458
14.6.5 CREATETEMPORARY() 459
14.6.6 ERASE() 460
14.6.7 FILECLOSE() 460
14.6.8 FILECLOSEALL() 461
14.6.9 FILEEXISTS() 461
14.6.10 FILEGETNAME() 462
14.6.11 FILEISOPEN() 462
14.6.12 FILEOPEN() 463
14.6.13 FREETEMPORARY() 463
14.6.14 GETCHUNKSIZE() 464
14.6.15 GET_STORAGE_LIMIT() 464
14.6.16 GETLENGTH() 464
14.6.17 INSTR() 465
14.6.18 ISOPEN() 466
14.6.19 ISTEMPORARY() 467
14.6.20 LOADFROMFILE() 467
14.6.21 LOADBLOBFROMFILE() 468
14.6.22 LOADCLOBFROMFILE() 469
14.6.23 OPEN() 470
14.6.24 READ() 471
14.6.25 SUBSTR() 471
14.6.26 TRIM() 473
14.6.27 WRITE() 473
14.6.28 WRITEAPPEND() 474
14.6.29 PL/SQL示例過(guò)程 475
14.7 理解LONG和LONG RAW類型 492
14.7.1 示例表 492
14.7.2 向LONG和LONG RAW列添加數(shù)據(jù) 492
14.7.3 將LONG和LONG RAW列轉(zhuǎn)換為L(zhǎng)OB 493
14.8 Oracle Database 10g對(duì)大對(duì)象的增強(qiáng) 494
14.8.1 CLOB和NCLOB對(duì)象之間的隱式轉(zhuǎn)換 494
14.8.2 在觸發(fā)器中使用LOB時(shí):new屬性的用法 495
14.9 Oracle Database 11g對(duì)大對(duì)象的增強(qiáng) 495
14.9.1 加密LOB數(shù)據(jù) 496
14.9.2 壓縮LOB數(shù)據(jù) 499
14.9.3 刪除LOB重復(fù)數(shù)據(jù) 499
14.10 小結(jié) 500
第15章 在Java程序中運(yùn)行SQL 501
15.1 準(zhǔn)備工作 502
15.2 配置計(jì)算機(jī) 502
15.2.1 設(shè)置ORACLE_HOME環(huán)境變量 502
15.2.2 設(shè)置JAVA_HOME環(huán)境變量 503
15.2.3 設(shè)置PATH環(huán)境變量 503
15.2.4 設(shè)置CLASSPATH環(huán)境變量 504
15.2.5 設(shè)置LD_LIBRARY_PATH環(huán)境變量 504
15.3 Oracle JDBC驅(qū)動(dòng)程序 505
15.3.1 Thin驅(qū)動(dòng)程序 505
15.3.2 OCI驅(qū)動(dòng)程序 505
15.3.3 服務(wù)器端內(nèi)部驅(qū)動(dòng)程序 505
15.3.4 服務(wù)器端Thin驅(qū)動(dòng)程序 505
15.4 導(dǎo)入JDBC包 506
15.5 注冊(cè)O(shè)racle JDBC驅(qū)動(dòng)程序 506
15.6 打開(kāi)數(shù)據(jù)庫(kù)連接 506
15.6.1 使用getConnection()方法連接數(shù)據(jù)庫(kù) 507
15.6.2 數(shù)據(jù)庫(kù)URL 507
15.6.3 使用Oracle數(shù)據(jù)源連接數(shù)據(jù)庫(kù) 508
15.7 創(chuàng)建JDBC Statement對(duì)象 511
15.8 從數(shù)據(jù)庫(kù)中檢索行 511
15.8.1 步驟1:創(chuàng)建和填充ResultSet對(duì)象 511
15.8.2 步驟2:從ResultSet對(duì)象中讀取列值 512
15.8.3 步驟3:關(guān)閉ResultSet對(duì)象 514
15.9 向數(shù)據(jù)庫(kù)中添加行 514
15.10 更改數(shù)據(jù)庫(kù)的行 515
15.11 刪除數(shù)據(jù)庫(kù)的行 516
15.12 處理數(shù)字 516
15.13 處理數(shù)據(jù)庫(kù)Null值 517
15.14 控制數(shù)據(jù)庫(kù)事務(wù) 519
15.15 執(zhí)行DDL語(yǔ)句 519
15.16 處理異常 520
15.17 關(guān)閉JDBC對(duì)象 521
15.18 示例程序:BasicExample1.java 522
15.18.1 編譯BasicExample1 527
15.18.2 運(yùn)行BasicExample1 527
15.19 預(yù)備SQL語(yǔ)句 529
15.20 示例程序:BasicExample2.java 531
15.21 Oracle JDBC擴(kuò)展 534
15.21.1 oracle.sql包 534
15.21.2 oracle.jdbc包 537
15.21.3 示例程序:
BasicExample3.java 540
15.22 小結(jié) 543
第16章 SQL優(yōu)化 545
16.1 SQL優(yōu)化簡(jiǎn)介 545
16.2 使用WHERE子句過(guò)濾行 546
16.3 使用表連接而不是多個(gè)查詢 546
16.4 執(zhí)行連接時(shí)使用完全限定的列引用 547
16.5 使用CASE表達(dá)式而不是多個(gè)查詢 548
16.6 添加表索引 549
16.7 使用WHERE而不是HAVING 550
16.8 使用UNION ALL而不是UNION 550
16.9 使用EXISTS而不是IN 552
16.10 使用EXISTS而不是DISTINCT 552
16.11 使用GROUPING SETS而不是CUBE 553
16.12 使用綁定變量 553
16.12.1 不相同的SQL語(yǔ)句 554
16.12.2 使用綁定變量定義相同SQL語(yǔ)句 554
16.12.3 列出和輸出綁定變量 555
16.12.4 使用綁定變量存儲(chǔ)PL/SQL函數(shù)的返回值 555
16.12.5 使用綁定變量存儲(chǔ)REFCURSOR的行 556
16.13 比較執(zhí)行查詢的成本 556
16.13.1 檢查執(zhí)行計(jì)劃 557
16.13.2 比較執(zhí)行計(jì)劃 562
16.14 為優(yōu)化器傳遞提示 563
16.15 其他優(yōu)化工具 564
16.15.1 Oracle Enterprise Manager
Diagnostics Pack 565
16.15.2 Automatic Database
Diagnostic Monitor 565
16.16 小結(jié) 566
第17章 XML和Oracle數(shù)據(jù)庫(kù) 567
17.1 XML簡(jiǎn)介 567
17.2 從關(guān)系數(shù)據(jù)生成XML 568
17.2.1 XMLELEMENT() 568
17.2.2 XMLATTRIBUTES() 571
17.2.3 XMLFOREST() 571
17.2.4 XMLAGG() 573
17.2.5 XMLCOLATTVAL() 575
17.2.6 XMLCONCAT() 576
17.2.7 XMLPARSE() 576
17.2.8 XMLPI() 577
17.2.9 XMLCOMMENT() 577
17.2.10 XMLSEQUENCE() 578
17.2.11 XMLSERIALIZE() 579
17.2.12 PL/SQL范例:將XML數(shù)據(jù)寫(xiě)入文件 579
17.2.13 XMLQUERY() 581
17.3 將XML保存到數(shù)據(jù)庫(kù)中 585
17.3.1 范例XML文件 585
17.3.2 創(chuàng)建范例XML模式 586
17.3.3 從范例XML模式檢索信息 588
17.3.4 更新范例XML模式中的信息 592
17.4 小結(jié) 595
附錄A Oracle數(shù)據(jù)類型 597

本目錄推薦

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