注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)認(rèn)證與等級(jí)考試Oracle認(rèn)證Oracle Database 10g AQL開(kāi)發(fā)指南

Oracle Database 10g AQL開(kāi)發(fā)指南

Oracle Database 10g AQL開(kāi)發(fā)指南

定 價(jià):¥59.80

作 者: (美)Jason Price著;馮銳,由淵霞譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: Oracle

ISBN: 9787302104872 出版時(shí)間: 2005-01-01 包裝: 平裝
開(kāi)本: 26cm 頁(yè)數(shù): 480 字?jǐn)?shù):  

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

  本書(shū)全面深入地論述了如何使用結(jié)構(gòu)化查詢語(yǔ)言(SQL)語(yǔ)句來(lái)訪問(wèn)Oracle數(shù)據(jù)庫(kù),以及使用PL/SQL(ProceduralLanguage/SQL)來(lái)編寫(xiě)包含SQL語(yǔ)句的程序。本書(shū)由Oracle前產(chǎn)品經(jīng)理JasonPrice親筆撰寫(xiě),基于新推出的SQL2003規(guī)范]]],詳細(xì)介紹了OracleDatabase10g的新特性和功能。全書(shū)內(nèi)容系統(tǒng)、權(quán)威,能幫助讀者快速掌握SQL的核心知識(shí)。本書(shū)前言現(xiàn)在的數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)了一種標(biāo)準(zhǔn)語(yǔ)言:結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage),或簡(jiǎn)稱SQL。除了具有其他語(yǔ)言的特點(diǎn)之外,SQL還可以對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行檢索、添加、修改和刪除。SQL是經(jīng)過(guò)美國(guó)國(guó)家標(biāo)準(zhǔn)化組織(ANSI)認(rèn)可的一種標(biāo)準(zhǔn)語(yǔ)言,可以用來(lái)對(duì)Oracle、SQLServer、DB2或MySQL數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。本書(shū)將介紹如何真正掌握SQL,同時(shí)還會(huì)給出許多實(shí)際的例子。讀者也可以通過(guò)Internet獲得本書(shū)中所使用的所有腳本和程序(詳細(xì)信息參看后文“獲得本書(shū)例子”部分)。讀者通過(guò)本書(shū)可學(xué)會(huì):●掌握標(biāo)準(zhǔn)的SQL,以及Oracle公司為了使用Oracle數(shù)據(jù)庫(kù)的特性而開(kāi)發(fā)的一些擴(kuò)展?!裾故綪L/SQL(過(guò)程化語(yǔ)言/SQL),它構(gòu)建在SQL基礎(chǔ)之上,允許用戶編寫(xiě)包含SQL語(yǔ)句的程序?!袷褂肧QL*Plus執(zhí)行SQL語(yǔ)句、腳本和報(bào)表;SQL*Plus就是一個(gè)與數(shù)據(jù)庫(kù)進(jìn)行交互的工具?!駥?duì)數(shù)據(jù)庫(kù)執(zhí)行查詢、插入、修改和刪除操作?!駝?chuàng)建數(shù)據(jù)庫(kù)表、序列、索引、視圖和用戶。●執(zhí)行包含多條SQL語(yǔ)句的事務(wù)。●定義數(shù)據(jù)庫(kù)對(duì)象類型,并創(chuàng)建對(duì)象表來(lái)處理高級(jí)數(shù)據(jù)?!袷褂么髮?duì)象來(lái)存儲(chǔ)128TB的字符和二進(jìn)制數(shù)據(jù),以及指向外部文件的指針?!袷褂梅治龊瘮?shù)執(zhí)行復(fù)雜計(jì)算?!袷褂盟凶钚碌腛racle10g特性,例如BINARY_FLOAT和BINARY_DOUBLE類型、MODEL子句以及大對(duì)象和集合的擴(kuò)展?!窠榻B數(shù)據(jù)庫(kù)的安全性?!駥?shí)現(xiàn)高性能的優(yōu)化技術(shù),使SQL語(yǔ)句可以快速執(zhí)行?!窠榻B使用Java通過(guò)JDBC運(yùn)行SQL的基礎(chǔ)知識(shí)。本書(shū)共包含16章和一個(gè)附錄。第1章簡(jiǎn)介本章將介紹有關(guān)關(guān)系數(shù)據(jù)庫(kù)和SQL的知識(shí),然后給出幾個(gè)簡(jiǎn)單查詢,并使用SQL*Plus執(zhí)行這些查詢,最后簡(jiǎn)要介紹PL/SQL。第2章從數(shù)據(jù)庫(kù)表中檢索信息本章將展示如何使用SELECT語(yǔ)句從一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表中檢索信息,如何使用算術(shù)表達(dá)式執(zhí)行計(jì)算,如何使用WHERE子句對(duì)行進(jìn)行過(guò)濾,以及如何對(duì)從表中檢索出的行進(jìn)行排序。第3章使用簡(jiǎn)單函數(shù)本章將介紹有關(guān)Oracle數(shù)據(jù)庫(kù)中內(nèi)置函數(shù)的知識(shí)。函數(shù)可以接受零個(gè)或多個(gè)輸入?yún)?shù),并返回一個(gè)輸出參數(shù)。使用函數(shù)可以實(shí)現(xiàn)很多功能,例如計(jì)算一組數(shù)字的平均值和方根。第4章日期和時(shí)間的存儲(chǔ)與處理本章將介紹Oracle數(shù)據(jù)庫(kù)如何處理和存儲(chǔ)日期和時(shí)間,二者合稱時(shí)間值。本章還將介紹如何使用時(shí)間戳來(lái)存儲(chǔ)特定的日期和時(shí)間,如何使用時(shí)間間隔來(lái)存儲(chǔ)一段時(shí)間的長(zhǎng)度。第5章使用SQL*Plus本章將使用SQL*Plus來(lái)查看表的結(jié)構(gòu),編輯SQL語(yǔ)句,保存并運(yùn)行腳本,設(shè)置列的輸出格式,定義并使用變量,以及創(chuàng)建報(bào)表。第6章子查詢本章將介紹如何在一個(gè)外部的SQL語(yǔ)句中使用SELECT語(yǔ)句。內(nèi)部的SELECT語(yǔ)句稱為子查詢。本節(jié)將介紹子查詢的各種類型,以及如何使用子查詢從簡(jiǎn)單部件構(gòu)建復(fù)雜語(yǔ)句。第7章高級(jí)查詢本章將介紹如何執(zhí)行包含高級(jí)操作符和函數(shù)的查詢,例如,集合操作符可以合并多個(gè)查詢返回的記錄,TRANSLATE()函數(shù)可以將一個(gè)字符串中的字符轉(zhuǎn)換為另外一個(gè)字符串中的字符,DECODE()函數(shù)可以在一組值中搜索特定的值,CASE表達(dá)式可以執(zhí)行if-then-else邏輯,ROLLUP和CUBE子句可以返回包含小計(jì)的記錄。本章還將介紹有關(guān)分析函數(shù)的知識(shí),分析函數(shù)可以用來(lái)執(zhí)行復(fù)雜計(jì)算,例如查找每個(gè)月銷量最高的產(chǎn)品類型、業(yè)績(jī)最佳的銷售員,等等。本章還將介紹如何對(duì)層次化組織的數(shù)據(jù)進(jìn)行查詢。最后,本章將展示如何使用Oracle10g的新特性MODEL子句執(zhí)行記錄間的計(jì)算。第8章修改表的內(nèi)容本章將介紹如何使用INSERT、UPDATE和DELETE語(yǔ)句添加、修改和刪除記錄,如何使用COMMIT語(yǔ)句使事務(wù)的處理結(jié)果永久生效,或者使用ROLLBACK語(yǔ)句完全取消事務(wù)結(jié)果的影響。本章還將介紹Oracle數(shù)據(jù)庫(kù)如何同時(shí)處理多個(gè)事務(wù)。第9章數(shù)據(jù)庫(kù)安全性本章將介紹有關(guān)數(shù)據(jù)庫(kù)用戶的知識(shí)和如何使用特權(quán)來(lái)控制用戶可以在數(shù)據(jù)庫(kù)中執(zhí)行的特定任務(wù)。第10章創(chuàng)建表、序列、索引和視圖本章將介紹有關(guān)表、序列和索引的知識(shí),序列會(huì)生成一系列數(shù)字,而索引就如同書(shū)籍的索引,可以幫助讀者快速訪問(wèn)記錄。本章還將介紹有關(guān)視圖的知識(shí),視圖是對(duì)一個(gè)或多個(gè)表預(yù)定義的查詢。除了其他優(yōu)點(diǎn)之外,視圖還可以對(duì)用戶屏蔽復(fù)雜性,通過(guò)只允許視圖訪問(wèn)表中有限的數(shù)據(jù)集,從而實(shí)現(xiàn)另外一層安全性。第11章PL/SQL編程簡(jiǎn)介本章將介紹有關(guān)PL/SQL的知識(shí),PL/SQL構(gòu)建在SQL基礎(chǔ)之上,使用PL/SQL可以在數(shù)據(jù)庫(kù)中編寫(xiě)包含SQL語(yǔ)句的存儲(chǔ)過(guò)程。PL/SQL是第三代語(yǔ)言,其中包含標(biāo)準(zhǔn)的編程結(jié)構(gòu)。第12章數(shù)據(jù)庫(kù)對(duì)象本章將介紹如何創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象類型,數(shù)據(jù)庫(kù)對(duì)象類型可以包括屬性和方法;還將介紹如何使用對(duì)象類型來(lái)定義列對(duì)象和對(duì)象表,以及如何使用SQL和PL/SQL來(lái)操縱對(duì)象。第13章集合本章將介紹如何創(chuàng)建集合類型,集合可以包含多個(gè)元素;還將介紹如何使用集合類型來(lái)定義表中的列,如何使用SQL和PL/SQL來(lái)操縱集合。第14章大對(duì)象本章將介紹有關(guān)大對(duì)象(largeobject)的知識(shí),大對(duì)象可以用來(lái)存儲(chǔ)多達(dá)128TB的字符和二進(jìn)制數(shù)據(jù),或指向外部文件的指針;此外,還將介紹有關(guān)早期的LONG類型的知識(shí),為了保持向后兼容性,在Oracle10g中依然支持LONG類型。第15章使用Java運(yùn)行SQL本章將介紹使用Java通過(guò)JDBC應(yīng)用程序編程接口運(yùn)行SQL的知識(shí),Java程序可以使用JDBC訪問(wèn)數(shù)據(jù)庫(kù)。第16章SQL優(yōu)化本章是本書(shū)的最后一章,將介紹SQL優(yōu)化的一些技巧,這些技巧可以用來(lái)縮短查詢執(zhí)行的時(shí)間;本章還將介紹有關(guān)Oralce優(yōu)化器的知識(shí),如何向優(yōu)化器傳遞一些提示。附錄AOracle的數(shù)據(jù)類型附錄中列出了OracleSQL和PL/SQL中可以使用的數(shù)據(jù)類型。讀者對(duì)象本書(shū)適用于以下讀者:●需要編寫(xiě)SQL和PL/SQL的開(kāi)發(fā)人員?!裥枰钊肓私釹QL的數(shù)據(jù)庫(kù)管理員?!裥枰帉?xiě)SQL查詢來(lái)從自己公司的數(shù)據(jù)庫(kù)中獲得信息的商業(yè)用戶?!裥枰?jiǎn)單了解SQL和PL/SQL的技術(shù)主管和技術(shù)顧問(wèn)。讀者閱讀本書(shū),不需要預(yù)先已經(jīng)了解Oracle數(shù)據(jù)庫(kù)、SQL或PL/SQL的知識(shí):通過(guò)閱讀本書(shū),讀者將會(huì)找到成為這方面的專家需要了解的所有知識(shí)。獲得本書(shū)例子本書(shū)中使用的所有的SQL腳本、程序以及其他文件都可以從Oracle出版社的網(wǎng)站www.OraclePressBooks.com上下載;這些文件都被打包成一個(gè)zip文件。下載這個(gè)zip文件之后,可以使用WinZip打開(kāi)這個(gè)壓縮文件,并在Actions菜單中選擇Extract選項(xiàng)將其解壓。這樣就會(huì)創(chuàng)建一個(gè)目錄sql_book,其中包含以下3個(gè)子目錄:●SQL其中包含了本書(shū)中使用的SQL腳本,包括創(chuàng)建和填充示例數(shù)據(jù)庫(kù)表所使用的腳本。●sample_files包含了第14章中的示例文件。●Java包含了第15章中使用的Java程序。盡情享受吧,希望您喜歡本書(shū)!致謝非常感謝McGraw-Hill/Osborne的朋友,包括LisaMcClain、AthenaHonore和LisaWolters-Broder;感謝RonHardman的全面技術(shù)審核,感謝Oracle公司的GeoffLee閱讀本書(shū)并充當(dāng)Oracle方面的倡導(dǎo)者。

作者簡(jiǎn)介

  JasonPrice職業(yè)咨詢專家,Oracle公司前產(chǎn)品經(jīng)理,對(duì)Oracle的眾多產(chǎn)品都做出了卓越的貢獻(xiàn)。Jason是一位經(jīng)Oracle認(rèn)證的數(shù)據(jù)庫(kù)管理員和應(yīng)用程序開(kāi)發(fā)員,在軟件產(chǎn)業(yè)具有10余年的從業(yè)經(jīng)驗(yàn),并親筆撰寫(xiě)了多本關(guān)于Oracle、Jave和Net的優(yōu)秀圖書(shū)。

圖書(shū)目錄

 第1章  簡(jiǎn)介 1
 1.1  關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介 1
 1.2  結(jié)構(gòu)化查詢語(yǔ)言(SQL)簡(jiǎn)介 2
 1.3  使用SQL*Plus 3
 1.3.1  啟動(dòng)Windows版本的SQL*Plus 4
 1.3.2  啟動(dòng)命令行版本的SQL*Plus 4
 1.4  使用SQL*Plus執(zhí)行SELECT語(yǔ)句 5
 1.5  SQL*Plus Worksheet 6
 1.6  創(chuàng)建store模式 7
 1.6.1  運(yùn)行SQL*Plus腳本創(chuàng)建store模式 7
 1.6.2  用來(lái)創(chuàng)建store模式的DDL語(yǔ)句 8
 1.7  添加. 修改. 刪除行 15
 1.7.1  向表中添加行 15
 1.7.2  修改表中的現(xiàn)有行 16
 1.7.3  從表中刪除行 17
 1.8  Oracle 10g的新數(shù)據(jù)類型BINARY_FLOAT和 BINARY_ DOUBLE 17
 1.8.1  BINARY_FLOAT和BINARY_DOUBLE的優(yōu)點(diǎn) 17
 1.8.2  在表中使用BINARY_FLOAT和BINARY_DOUBLE 18
 1.8.3  特殊值 18
 1.9  退出SQL*Plus 19
 1.10  Oracle PL/SQL簡(jiǎn)介 19
 1.11  小結(jié) 20
 第2章  從數(shù)據(jù)庫(kù)表中檢索信息 23
 2.1  對(duì)單表執(zhí)行SELECT語(yǔ)句 23
 2.2  選擇一個(gè)表中的所有列 24
 2.3  理解行標(biāo)識(shí)符 25
 2.4  執(zhí)行算術(shù)運(yùn)算 25
 2.4.1  日期運(yùn)算 26
 2.4.2  列運(yùn)算 27
 2.5  使用列別名 28
 2.6  使用串連操作合并列的輸出結(jié)果 29
 2.7  理解空值 29
 2.8  禁止顯式重復(fù)行 31
 2.9  使用WHERE子句過(guò)濾行 32
 2.9.1  使用比較操作符 32
 2.9.2  使用SQL操作符 34
 2.9.3  使用邏輯操作符 36
 2.9.4  理解操作符的優(yōu)先級(jí) 37
 2.10  使用ORDER BY子句對(duì)行進(jìn)行排序 37
 2.11  執(zhí)行使用兩個(gè)表的SELECT語(yǔ)句 39
 2.12  使用表別名 41
 2.13  笛卡爾積 41
 2.14  執(zhí)行使用多于兩個(gè)表的SELECT語(yǔ)句 42
 2.15  理解連接條件和連接類型 43
 2.15.1  理解不等連接 43
 2.15.2  理解外連接 44
 2.15.3  理解自連接 47
 2.16  使用SQL/92語(yǔ)法執(zhí)行連接 48
 2.16.1  使用SQL/92標(biāo)準(zhǔn)語(yǔ)法執(zhí)行兩個(gè)表的內(nèi)連接 48
 2.16.2  使用USING關(guān)鍵字簡(jiǎn)化連接 49
 2.16.3  使用SQL/92執(zhí)行多于兩個(gè)以上表的內(nèi)連接 50
 2.16.4  使用SQL/92執(zhí)行多列的內(nèi)連接 50
 2.16.5  使用SQL/92執(zhí)行外連接 50
 2.16.6  使用SQL/92執(zhí)行自連接 52
 2.16.7  使用SQL/92執(zhí)行交叉連接 52
 2.17  小結(jié) 53
 第3章  使用簡(jiǎn)單函數(shù) 55
 3.1  使用單行函數(shù) 56
 3.1.1  字符函數(shù) 56
 3.1.2  數(shù)字函數(shù) 64
 3.1.3  轉(zhuǎn)換函數(shù) 69
 3.1.4  正則表達(dá)式函數(shù) 74
 3.2  使用聚合函數(shù) 78
 3.2.1  AVG()函數(shù) 79
 3.2.2  COUNT()函數(shù) 80
 3.2.3  MAX()和MIN()函數(shù) 80
 3.2.4  STDDEV()函數(shù) 81
 3.2.5  SUM()函數(shù) 81
 3.2.6  VARIANCE()函數(shù) 82
 3.3  對(duì)行進(jìn)行分組 82
 3.3.1  使用GROUP BY子句對(duì)行進(jìn)行分組 82
 3.3.2  調(diào)用聚合函數(shù)的錯(cuò)誤用法 85
 3.3.3  使用HAVING子句過(guò)濾行分組 86
 3.3.4  組合使用WHERE和GROUP BY子句 86
 3.3.5  組合使用WHERE. GROUP BY和HAVING子句 87
 3.4  小結(jié) 88
 第4章  日期和時(shí)間的存儲(chǔ)與處理 89
 4.1  幾個(gè)簡(jiǎn)單的存儲(chǔ)和檢索日期的例子 89
 4.2  使用TO_CHAR()和TO_DATE()轉(zhuǎn)換時(shí)間值 91
 4.2.1  使用TO_CHAR()將時(shí)間值轉(zhuǎn)換為字符串 91
 4.2.2  使用TO_DATE()將字符串轉(zhuǎn)換為時(shí)間值 95
 4.3  設(shè)置默認(rèn)的日期格式 98
 4.4  Oracle對(duì)2位年份的處理 99
 4.4.1  使用YY格式 99
 4.4.2  使用RR格式 99
 4.5  使用時(shí)間值函數(shù) 101
 4.5.1  ADD_MONTHS()函數(shù) 101
 4.5.2  LAST_DAY()函數(shù) 102
 4.5.3  MONTHS_BETWEEN() 102
 4.5.4  NEXT_DAY()函數(shù) 103
 4.5.5  ROUND()函數(shù) 103
 4.5.6  SYSDATE()函數(shù) 104
 4.5.7  TRUNC()函數(shù) 104
 4.6  理解時(shí)區(qū) 105
 4.6.1  與時(shí)區(qū)有關(guān)的函數(shù) 106
 4.6.2  數(shù)據(jù)庫(kù)時(shí)區(qū)和會(huì)話時(shí)區(qū) 106
 4.6.3  獲取時(shí)區(qū)的時(shí)差 107
 4.6.4  獲取時(shí)區(qū)名 107
 4.6.5  將時(shí)間值從一個(gè)時(shí)區(qū)轉(zhuǎn)換為另一個(gè)時(shí)區(qū) 108
 4.7  使用時(shí)間戳 108
 4.7.1  使用TIMESTAMP類型 108
 4.7.2  與時(shí)間戳有關(guān)的函數(shù) 112
 4.8  使用時(shí)間間隔 116
 4.8.1  使用INTERVAL YEAR TO MONTH類型 117
 4.8.2  使用INTERVAL DAY TO SECOND類型 119
 4.8.3  與時(shí)間間隔有關(guān)的函數(shù) 121
 4.9  小結(jié) 122
 第5章  使用SQL*Plus 123
 5.1  查看表結(jié)構(gòu) 123
 5.2  編輯SQL語(yǔ)句 124
 5.3  保存. 檢索并運(yùn)行文件 126
 5.4  格式化列 128
 5.5  設(shè)置頁(yè)面大小 130
 5.6  設(shè)置行大小 131
 5.7  清除列格式 131
 5.8  使用變量 132
 5.8.1  臨時(shí)變量 132
 5.8.2  已定義變量 135
 5.9  創(chuàng)建簡(jiǎn)單報(bào)表 137
 5.9.1  在腳本中使用臨時(shí)變量 137
 5.9.2  在腳本中使用已定義變量 137
 5.9.3  向腳本中的變量傳遞值 138
 5.9.4  添加頁(yè)眉和頁(yè)腳 139
 5.9.5  計(jì)算小計(jì) 140
 5.10  自動(dòng)生成SQL語(yǔ)句 141
 5.11  小結(jié) 142
 第6章  子查詢 143
 6.1  子查詢的類型 143
 6.2  編寫(xiě)單行子查詢 144
 6.2.1  在WHERE子句中使用子查詢 144
 6.2.2  在HAVING子句中使用子查詢 145
 6.2.3  在FROM子句中使用子查詢(內(nèi)聯(lián)視圖) 146
 6.2.4  可能碰到的兩個(gè)錯(cuò)誤 147
 6.3  編寫(xiě)多行子查詢 148
 6.3.1  在多行子查詢中使用IN操作符 148
 6.3.2  在多行子查詢中使用ANY操作符 149
 6.3.3  在多行子查詢中使用ALL操作符 149
 6.4  編寫(xiě)多列子查詢 150
 6.5  編寫(xiě)關(guān)聯(lián)子查詢 150
 6.5.1  關(guān)聯(lián)子查詢的例子 150
 6.5.2  在關(guān)聯(lián)子查詢中使用EXISTS和NOT EXISTS 151
 6.6  編寫(xiě)嵌套子查詢 153
 6.7  編寫(xiě)包含子查詢的UPDATE和DELETE語(yǔ)句 155
 6.7.1  編寫(xiě)包含子查詢的UPDATE語(yǔ)句 155
 6.7.2  編寫(xiě)包含子查詢的DELETE語(yǔ)句 155
 6.8  小結(jié) 156
 第7章  高級(jí)查詢 157
 7.1  使用集合操作符 158
 7.1.1  示例表 158
 7.1.2  使用UNION ALL操作符 159
 7.1.3  使用UNION操作符 160
 7.1.4  使用INTERSECT操作符 161
 7.1.5  使用MINUS操作符 161
 7.1.6  組合使用集合操作符 162
 7.2  使用TRANSLATE()函數(shù) 163
 7.3  使用DECODE()函數(shù) 164
 7.4  使用CASE表達(dá)式 166
 7.4.1  使用簡(jiǎn)單CASE表達(dá)式 166
 7.4.2  使用搜索CASE表達(dá)式 167
 7.5  層次化查詢 168
 7.5.1  示例數(shù)據(jù) 168
 7.5.2  使用CONNECT BY和START WITH子句 170
 7.5.3  使用偽列LEVEL 171
 7.5.4  格式化層次化查詢的結(jié)果 171
 7.5.5  從非根節(jié)點(diǎn)開(kāi)始遍歷 172
 7.5.6  在START WITH子句中使用子查詢 173
 7.5.7  從下向上遍歷樹(shù) 173
 7.5.8  從層次查詢中刪除節(jié)點(diǎn)和分支 174
 7.5.9  在層次化查詢中加入其他條件 175
 7.6  使用擴(kuò)展的GROUP BY子句 175
 7.7  使用ROLLUP子句 177
 7.7.1  使用CUBE子句 179
 7.7.2  使用GROUPING()函數(shù) 181
 7.7.3  使用GROUPING SETS子句 183
 7.7.4  使用GROUPING_ID()函數(shù) 184
 7.7.5  在GROUP BY子句中多次使用一個(gè)列 186
 7.7.6  使用GROUP_ID()函數(shù) 186
 7.8  使用分析函數(shù) 187
 7.8.1  示例表 188
 7.8.2  使用評(píng)級(jí)函數(shù) 189
 7.8.3  使用反百分點(diǎn)函數(shù) 195
 7.8.4  使用窗口函數(shù) 196
 7.8.5  使用報(bào)表函數(shù) 201
 7.8.6  使用LAG()和LEAD()函數(shù) 203
 7.8.7  使用FIRST和LAST函數(shù) 204
 7.8.8  使用線性回歸函數(shù) 204
 7.8.9  使用假想評(píng)級(jí)與分布函數(shù) 205
 7.9  使用MODEL子句 206
 7.9.1  示例MODEL子句 206
 7.9.2  用位置標(biāo)記和符號(hào)標(biāo)記訪問(wèn)數(shù)據(jù)單元 208
 7.9.3  用BETWEEN和AND返回特定范圍內(nèi)的數(shù)據(jù)單元 208
 7.9.4  用ANY和IS ANY訪問(wèn)所有的數(shù)據(jù)單元 209
 7.9.5  用CURRENTV()獲取某個(gè)維度的當(dāng)前值 209
 7.9.6  用FOR循環(huán)訪問(wèn)數(shù)據(jù)單元 210
 7.9.7  處理空值和缺失值 212
 7.9.8  更新已有的單元 214
 7.10  小結(jié) 215
 第8章  修改表的內(nèi)容 217
 8.1  使用INSERT語(yǔ)句添加行 217
 8.1.1  忽略列的列表 218
 8.1.2  為列指定空值 219
 8.1.3  在列值中使用單引號(hào)和雙引號(hào) 219
 8.1.4  從一個(gè)表向另外一個(gè)表復(fù)制行 219
 8.2  使用UPDATE語(yǔ)句修改行 220
 8.3  使用DELETE語(yǔ)句刪除行 221
 8.4  數(shù)據(jù)庫(kù)的完整性 222
 8.4.1  主鍵約束 222
 8.4.2  外鍵約束 222
 8.5  使用默認(rèn)值 223
 8.6  使用MERGE合并行 225
 8.7  數(shù)據(jù)庫(kù)事務(wù) 227
 8.7.1  事務(wù)的提交和回滾 227
 8.7.2  事務(wù)的開(kāi)始與結(jié)束 228
 8.7.3  保存點(diǎn) 229
 8.7.4  事務(wù)的ACID特性 230
 8.7.5  并發(fā)事務(wù) 230
 8.7.6  事務(wù)鎖 232
 8.7.7  事務(wù)隔離級(jí)別 232
 8.7.8  SERIALIZABLE事務(wù)隔離性級(jí)別的一個(gè)例子 233
 8.8  查詢閃回 234
 8.8.1  使用閃回的授權(quán) 234
 8.8.2  時(shí)間查詢閃回 234
 8.8.3  系統(tǒng)變更號(hào)查詢閃回 236
 8.9  小結(jié) 237
 第9章  數(shù)據(jù)庫(kù)安全性 239
 9.1  用戶 239
 9.1.1  創(chuàng)建用戶 240
 9.1.2  修改用戶密碼 241
 9.1.3  刪除用戶 241
 9.2  系統(tǒng)特權(quán) 241
 9.2.1  向用戶授予系統(tǒng)特權(quán) 242
 9.2.2  檢查授予用戶的系統(tǒng)特權(quán) 243
 9.2.3  使用系統(tǒng)特權(quán) 244
 9.2.4  撤銷用戶的系統(tǒng)特權(quán) 244
 9.3  對(duì)象特權(quán) 244
 9.3.1  向用戶授予對(duì)象特權(quán) 245
 9.3.2  檢查已授予的對(duì)象特權(quán) 245
 9.3.3  檢查已接受的對(duì)象特權(quán) 247
 9.3.4  使用對(duì)象特權(quán) 249
 9.3.5  同名對(duì)象 249
 9.3.6  公共同名對(duì)象 250
 9.3.7  撤銷用戶的對(duì)象特權(quán) 251
 9.4  角色 251
 9.4.1  創(chuàng)建角色 251
 9.4.2  為角色授權(quán) 252
 9.4.3  將角色授予用戶 252
 9.4.4  檢查授予用戶的角色 253
 9.4.5  檢查授予角色的系統(tǒng)特權(quán) 254
 9.4.6  檢查授予角色的對(duì)象特權(quán) 254
 9.4.7  使用授予角色的特權(quán) 256
 9.4.8  默認(rèn)角色 256
 9.4.9  撤銷角色 257
 9.4.10  從角色中撤銷特權(quán) 257
 9.4.11  刪除角色 257
 9.5  小結(jié) 257
 第10章  創(chuàng)建表. 序列. 索引和視圖 259
 10.1  表 259
 10.1.1  創(chuàng)建表 260
 10.1.2  獲得有關(guān)表的信息 261
 10.1.3  獲得表中列的信息 262
 10.1.4  修改表 263
 10.1.5  重命名表 271
 10.1.6  向表添加注釋 271
 10.1.7  截?cái)啾?272
 10.1.8  刪除表 272
 10.2  序列 272
 10.2.1  創(chuàng)建序列 272
 10.2.2  獲取有關(guān)序列的信息 274
 10.2.3  使用序列 275
 10.2.4  使用序列填充主鍵 276
 10.2.5  修改序列 277
 10.2.6  刪除序列 278
 10.3  索引 278
 10.3.1  創(chuàng)建索引 278
 10.3.2  創(chuàng)建基于函數(shù)的索引 279
 10.3.3  獲取有關(guān)索引的信息 280
 10.3.4  獲取列索引的信息 281
 10.3.5  修改索引 281
 10.3.6  刪除索引 281
 10.4  視圖 282
 10.4.1  創(chuàng)建并使用視圖 282
 10.4.2  修改視圖 289
 10.4.3  刪除視圖 289
 10.5  小結(jié) 290
 第11章  PL/SQL編程簡(jiǎn)介 291
 11.1  塊結(jié)構(gòu) 292
 11.2  變量和類型 293
 11.3  條件邏輯 294
 11.4  循環(huán) 294
 11.4.1  簡(jiǎn)單循環(huán) 295
 11.4.2  WHILE循環(huán) 295
 11.4.3  FOR循環(huán) 295
 11.5  游標(biāo) 296
 11.5.1  步驟1:聲明用于保存列值的變量 296
 11.5.2  步驟2:聲明游標(biāo) 297
 11.5.3  步驟3:打開(kāi)游標(biāo) 297
 11.5.4  步驟4:從游標(biāo)中取得記錄 297
 11.5.5  步驟5:關(guān)閉游標(biāo) 298
 11.5.6  完整的實(shí)例:product_cursor.sql 298
 11.5.7  游標(biāo)與FOR循環(huán) 300
 11.6  異常 301
 11.6.1  ZERO_DIVIDE異常 302
 11.6.2  DUP_VAL_ON_INDEX異常 303
 11.6.3  INVALID_NUMBER異常 303
 11.6.4  OTHERS異常 303
 11.7  過(guò)程 304
 11.7.1  創(chuàng)建過(guò)程 304
 11.7.2  調(diào)用過(guò)程 307
 11.7.3  獲取有關(guān)過(guò)程的信息 307
 11.7.4  刪除過(guò)程 308
 11.7.5  查看過(guò)程中的錯(cuò)誤 308
 11.8  函數(shù) 309
 11.8.1  創(chuàng)建函數(shù) 309
 11.8.2  調(diào)用函數(shù) 310
 11.8.3  獲取有關(guān)函數(shù)的信息 310
 11.8.4  刪除函數(shù) 311
 11.9  包 311
 11.9.1  創(chuàng)建包規(guī)范 311
 11.9.2  創(chuàng)建包體 312
 11.9.3  調(diào)用包中的函數(shù)和過(guò)程 313
 11.9.4  獲取有關(guān)包中函數(shù)和過(guò)程的信息 314
 11.9.5  刪除包 314
 11.10  觸發(fā)器 314
 11.10.1  觸發(fā)器運(yùn)行的時(shí)機(jī) 314
 11.10.2  設(shè)置示例觸發(fā)器 315
 11.10.3  創(chuàng)建觸發(fā)器 315
 11.10.4  激活觸發(fā)器 316
 11.10.5  獲取有關(guān)觸發(fā)器的信息 317
 11.10.6  禁用和啟用觸發(fā)器 319
 11.10.7  刪除觸發(fā)器 319
 11.11  小結(jié) 319
 第12章  數(shù)據(jù)庫(kù)對(duì)象 321
 12.1  對(duì)象簡(jiǎn)介 321
 12.2  創(chuàng)建對(duì)象類型 322
 12.3  使用DESCRIBE獲取有關(guān)對(duì)象類型的信息 324
 12.4  用對(duì)象類型定義列對(duì)象和對(duì)象表 325
 12.5  對(duì)products表執(zhí)行DML操作 325
 12.5.1  將記錄插入到products表中 326
 12.5.2  從products表中查詢記錄 326
 12.5.3  修改products表中的記錄 327
 12.5.4  從products表中刪除記錄 327
 12.6  對(duì)object_products表執(zhí)行DML 327
 12.6.1  向object_products表中插入記錄 328
 12.6.2  從object_products表中選擇記錄 328
 12.6.3  更新object_products表中的記錄 328
 12.6.4  從object_products表中刪除記錄 329
 12.7  對(duì)object_customers表執(zhí)行DML 329
 12.7.1  向object_customers表中插入記錄 329
 12.7.2  從object_customers表中查詢記錄 329
 12.8  對(duì)purchases表執(zhí)行DML 330
 12.8.1  向purchases表中插入記錄 331
 12.8.2  從purchases表中選擇記錄 331
 12.8.3  更新purchases表中的記錄 332
 12.9  在PL/SQL中使用對(duì)象 332
 12.10  類型繼承 334
 12.11  NOT INSTANTIABLE對(duì)象類型 335
 12.12  用戶自定義的構(gòu)造函數(shù) 336
 12.13  小結(jié) 339
 第13章  集合 341
 13.1  集合簡(jiǎn)介 341
 13.2  變長(zhǎng)數(shù)組 342
 13.2.1  創(chuàng)建變長(zhǎng)數(shù)組類型 342
 13.2.2  使用變長(zhǎng)數(shù)組類型定義表列 343
 13.2.3  獲得變長(zhǎng)數(shù)組信息 343
 13.2.4  填充變長(zhǎng)數(shù)組元素 344
 13.2.5  查找變長(zhǎng)數(shù)組元素 345
 13.2.6  更改變長(zhǎng)數(shù)組元素 345
 13.3  嵌套表 345
 13.3.1  創(chuàng)建嵌套表類型 346
 13.3.2  使用嵌套表類型定義表列 346
 13.3.3  獲得嵌套表信息 346
 13.3.4  填充嵌套表元素 348
 13.3.5  查找嵌套表元素 348
 13.3.6  更改嵌套表元素 348
 13.4  多級(jí)集合類型 349
 13.5  在PL/SQL中使用集合 351
 13.5.1  操作變長(zhǎng)數(shù)組 351
 13.5.2  操作嵌套表 353
 13.5.3  集合方法 355
 13.6  Oracle 10g對(duì)集合的改進(jìn) 362
 13.6.1  關(guān)聯(lián)數(shù)組 362
 13.6.2  更改元素類型的大小或精度 363
 13.6.3  增加變長(zhǎng)數(shù)組的元素?cái)?shù)目 363
 13.6.4  在臨時(shí)表中使用變長(zhǎng)數(shù)組 363
 13.6.5  為嵌套表的存儲(chǔ)表使用不同的表空間 364
 13.6.6  對(duì)嵌套表的ANSI支持 364
 13.7  小結(jié) 372
 第14章  大對(duì)象 373
 14.1  大對(duì)象(LOB)簡(jiǎn)介 373
 14.2  示例文件 374
 14.3  理解大對(duì)象類型 374
 14.4  創(chuàng)建包含大對(duì)象的表 375
 14.5  在SQL中使用大對(duì)象 376
 14.5.1  使用CLOB和BLOB 376
 14.5.2  使用BFILE 377
 14.6  在PL/SQL中使用大對(duì)象 379
 14.6.1  READ() 380
 14.6.2  WRITE() 383
 14.6.3  APPEND() 384
 14.6.4  CLOSE() 386
 14.6.5  COMPARE() 386
 14.6.6  COPY() 388
 14.6.7  CREATETEMPORARY() 390
 14.6.8  ERASE() 391
 14.6.9  FILECLOSE() 392
 14.6.10  FILECLOSEALL() 393
 14.6.11  FILEEXISTS() 393
 14.6.12  FILEGETNAME() 394
 14.6.13  FILEISOPEN() 394
 14.6.14  FILEOPEN() 395
 14.6.15  FREETEMPORARY() 396
 14.6.16  GETCHUNKSIZE() 396
 14.6.17  GET_STORAGE_LIMIT() 397
 14.6.18  GETLENGTH() 397
 14.6.19  INSTR() 397
 14.6.20  ISOPEN() 400
 14.6.21  ISTEMPORARY() 400
 14.6.22  LOADFROMFILE() 401
 14.6.23  LOADBLOBFROMFILE() 404
 14.6.24  LOADCLOBFROMFILE() 405
 14.6.25  OPEN() 405
 14.6.26  SUBSTR() 406
 14.6.27  TRIM() 407
 14.6.28  WRITEAPPEND() 408
 14.7  理解LONG和LONG RAW類型 408
 14.7.1  示例表 409
 14.7.2  使用LONG和LONG RAW列 409
 14.8  Oracle10g對(duì)大對(duì)象的增強(qiáng) 410
 14.8.1  CLOB和NCLOB對(duì)象之間的隱式轉(zhuǎn)換 410
 14.8.2  在觸發(fā)器中使用LOB時(shí):new屬性的用法 411
 14.9  小結(jié) 412
 第15章  使用Java運(yùn)行SQL 413
 15.1  準(zhǔn)備工作 414
 15.2  配置計(jì)算機(jī) 414
 15.2.1  設(shè)置ORACLE_HOME環(huán)境變量 414
 15.2.2  設(shè)置JAVA_HOME環(huán)境變量 415
 15.2.3  設(shè)置PATH環(huán)境變量 415
 15.2.4  設(shè)置CLASSPATH環(huán)境變量 416
 15.2.5  設(shè)置LD_LIBRARAY_PATH環(huán)境變量 416
 15.3  Oracle JDBC驅(qū)動(dòng)程序 416
 15.3.1  Thin驅(qū)動(dòng)程序 417
 15.3.2  OCI驅(qū)動(dòng)器 417
 15.3.3  服務(wù)器端內(nèi)部驅(qū)動(dòng)器 417
 15.3.4  服務(wù)器端Thin驅(qū)動(dòng)器 417
 15.4  導(dǎo)入JDBC包 417
 15.5  注冊(cè)O(shè)racle JDBC驅(qū)動(dòng)程序 418
 15.6  打開(kāi)數(shù)據(jù)庫(kù)連接 418
 15.6.1  使用DriverManager類的getConnection()方法連接數(shù)據(jù)庫(kù) 418
 15.6.2  使用Oracle數(shù)據(jù)源連接數(shù)據(jù)庫(kù) 420
 15.7  創(chuàng)建JDBC Statement對(duì)象 422
 15.8  從數(shù)據(jù)庫(kù)檢索列 423
 15.8.1  步驟1:創(chuàng)建和填充ResultSet對(duì)象 423
 15.8.2  步驟2:從ResultSet對(duì)象中讀取列值 424
 15.8.3  步驟3:關(guān)閉ResultSet對(duì)象 426
 15.9  向數(shù)據(jù)庫(kù)添加行 426
 15.10  更改數(shù)據(jù)庫(kù)的行 427
 15.11  刪除數(shù)據(jù)庫(kù)的行 427
 15.12  處理數(shù)字 428
 15.13  處理數(shù)據(jù)庫(kù)Null值 429
 15.14  控制數(shù)據(jù)庫(kù)事務(wù) 430
 15.15  執(zhí)行DDL語(yǔ)句 431
 15.16  處理異常 432
 15.17  關(guān)閉JDBC對(duì)象 433
 15.18  示例程序:BasicExample1.java 434
 15.18.1  編譯BasicExample1 439
 15.18.2  運(yùn)行BasicExample1 439
 15.19  預(yù)備SQL語(yǔ)句 441
 15.20  Oracle JDBC擴(kuò)展 446
 15.20.1  oracle.sql包 446
 15.20.2  oracle.jdbc包 450
 15.20.3  示例程序:BasicExample3.java 453
 15.21  小結(jié) 456
 第16章  SQL優(yōu)化 457
 16.1  SQL優(yōu)化簡(jiǎn)介 457
 16.2  使用WHERE子句過(guò)濾行 458
 16.3  使用表連接而不是多個(gè)查詢 458
 16.4  執(zhí)行連接時(shí)使用完全限定的列引用 459
 16.5  使用CASE表達(dá)式而不是多個(gè)查詢 460
 16.6  添加表索引 461
 16.7  使用WHERE而不是HAVING 461
 16.8  使用UNION ALL而不是UNION 462
 16.9  使用EXISTS而不是IN 464
 16.10  使用EXISTS而不是DISTINCT 464
 16.11  使用綁定變量 465
 16.11.1  不相同的SQL語(yǔ)句 465
 16.11.2  使用綁定變量定義相同SQL語(yǔ)句 466
 16.11.3  列出和輸出綁定變量 467
 16.11.4  使用綁定變量存儲(chǔ)PL/SQL函數(shù)的返回值 467
 16.11.5  使用綁定變量存儲(chǔ)REFCURSOR的行 467
 16.12  比較執(zhí)行查詢的成本 468
 16.12.1  檢查執(zhí)行計(jì)劃 468
 16.12.2  比較執(zhí)行計(jì)劃 473
 16.13  為優(yōu)化器傳遞提示 474
 16.14  其他優(yōu)化工具 474
 16.14.1  Statspack包 474
 16.14.2  Oracle Enterprise Manager Diagnostics Pack 475
 16.14.3  自動(dòng)數(shù)據(jù)庫(kù)診斷監(jiān)控 475
 16.15  小結(jié) 475
 附錄A   Oracle數(shù)據(jù)類型 477
 A.1  Oracle SQL類型 477
 A.2  Oracle PL/SQL類型 479
</font>

本目錄推薦

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