目 錄
譯者序
前言
第1章 引言
1.1如何閱讀本書
1.2如何閱讀SQL語法
1.3什麼是SQL?
1.4SQL一緻性
1.4.1最小一緻性
1.4.2 <SQL對象標識符>
1.4.3增強一緻性
1.5SQL語句類
1.5.1事務初始化SQL語句
1.5.2應使用哪一個SQL語句?
1.6SQL規則求值順序
第2章 一般概念
2.1集閤論
2.1.1關係
2.1.2集閤運算
2.2概要:關係模型
2.3SQL環境
2.4SQL對象
2.4.1群集
2.4.2<授權ID>
2.4.3特權
2.4.4目錄
2.4.5模式
2.4.6錶
2.4.7列
2.4.8域和UDT
2.4.9約束和斷言
2.4.10字符集
2.4.11排序
2.4.12翻譯
2.4.13觸發器
2.4.14模塊
2.4.15SQL調用例程
2.5SQL數據類型
2.5.1預定義<數據類型>
2.5.2構造<數據類型>
2.5.3用戶定義類型
2.5.4數據類型轉換
2.5.5站點
2.5.6定位器
2.6 SQL語言元素
2.6.1<SQL特殊字符>
2.6.2<標記>
2.6.3<分隔符>
2.6.4<字符>
2.6.5<關鍵字>
2.6.6<標識符>
第3章 數字
3.1 數字<字符>
3.1.1<精確數字字符>
3.1.2<近似數字字符>
3.2數字<數據類型>
3.2.1INTEGER
3.2.2SMALLINT
3.2.3NUMEBIC
3.2.4DECIMAL
3.2.5FLOAT
3.2.6REAL
3.2.7DOUBLEPRECISION
3.3IEEE二進製浮點
3.4 數字運算
3.4.1CAST
3.4.2賦值
3.4.3比較
3.4.4其他操作
3.5選擇正確的<數據類型>
3.6供應商專用語
3.7SQL庫
第4章 位串
4.1<位串字符>
4.1.1二進製<位串字符>
4.1.2十六進製<位串字符>
4.2位串<數據類型>
4.2.1BIT
4.2.2BITVARYING
4.3位運算
4.3.1CAST
4.3.2賦值
4.3.3比較
4.3.4其他運算
第5章 二進製串
5.1<BLOB字符>
5.2BLOB<數據類型>
5.3BLOB運算
5.3.1CAST
5.3.2賦值
5.3.3比較
5.3.4其他運算
第6章 字符
6.1什麼是字符?
6.1.1拉丁字母
6.1.2英語
6.1.3法語
6.1.4德語
6.1.5西班牙語
6.1.6荷蘭、意大利、葡萄牙、
巴斯剋和卡塔蘭語
6.1.7威爾士語
6.1.8北歐語言
6.1.9中歐語言
6.1.10波羅的海語言
6.1.11土耳其語
6.1.12斯拉夫語
6.1.13希臘語
6.1.14其他語言
6.2其中有什麼?
6.3預定義字符集
6.3.1SQLCHARACTER
6.3.2GRAPHICIRV和ASCIIGRAPHIC
6.3.3LATIN1
6.3.4ISO8BIT和ASCIIFULL
6.3.5UNICODE和ISO10646
6.3.6SQL_TEXT
第7章 字符串
7.1字符串<字符>
7.1.1 <字符串字符>
7.1.2 <國傢特有字符串字符>
7.2字符串<數據類型>
7.2.1CHARACTER
7.2.2NATION ALCHARACTER
7.2.3CHARACTERVARYING
7.2.4 NATIONAL CHARACTER
VARYING
7.2.5CHARACTERLARGE
OBJECT
7.2.6 NATIONALCHARACTERLARGE
OBJECT
7.3 字符串操作
7.3.1CAST
7.3.2賦值
7.3.3比較
7.3.4其他操作
7.4 字符串和字符集
7.5字符串和排序
7.6供應商專用語
第8章 時間值
8.1預備知識
8.1.1格雷果裏曆
8.1.2閏秒
8.1.3 時區
8.2 時間<字符>
8.2.1日期時間<字符>
8.2.2時間間隔<字符>
8.3時間<數據類型>
8.3.1日期時間<數據類型>
8.3.2時間間隔<數據類型>
8.4 時間運算
8.4.1CAST
8.4.2賦值
8.4.3比較
8.4.4其他運算
8.5供應商專用語
8.6SQL程序庫
第9章 布爾值
9.1<布爾字符>
9.2 布爾<數據類型>
9.3布爾值運算
9.3.1CAST
9.3.2賦值
9.3.3比較
9.3.4其他運算
第10章 聚閤類型
10.1聚閤<數據類型>
10.1.1ARRAY
10.I.2ARRAY<元素引用>
10.1.3<數組值構造符>
10.2聚閤運算
10.2.1CAST
10.2.2賦值
10.2.3比較
10.2.4其他運算
10.3理解示例
第11章 行類型
11.1行<數據類型>
11.1.1ROW
11.1.2 <行引用>
11.1.3 <字段引用>
11.1.4 <行值構造符>
11.2行操作
11.2.1賦值
11.2.2比較
11.2.3其他操作
11.2.4標量操作
11.2.5集函數
11.2.6判斷
11.3綜閤示例
第12章 引用類型
12.1引用<數據類型>
12.2引用操作
12.2.1CAST
12.2.2賦值
12.2.3比較
12.2.4其他操作
第13章 空值
13.1用NULL代錶丟失的數據
13.2NULL的含義
13.3三值邏輯
13.3.1判斷
13.3.2<空值判斷>
13.4 可空性
13.5重復的缺陷
13.6NUIL的趣事
13.6.1NUIL規範
13.6.2集函數
13.6.3搜索
13.6.4約束
13.6.5標量操作符和函數
13.6.6排序
13.6.7UNIQUE 判斷
13.6.8<引用類型>
13.6.9SOL/ CLI
13.7優化程序問題
13.8NUILoclasts與NUILodules
13.8.1NULIoclast方
13.8.2NUlLLodule方
第14章 SQL群集
14.1群集的概念
14.2群集的名稱
第15章 授權ID
15.1<授權ID>
15.1.1用戶
15.1.2 角色
15.1.3 <授權ID>的類型
15.1.4 <授權ID>名
15.2CREATEROLE語句
15.3特權
15.4 GRANT語句
15.4.1 <授權特權語句>
15.4.2 <授權角色語句>
15.5數據控製
15.5.1操作和對象
15.5.2用戶/角色
15.5.3所有者
15.5.4錶的授權
15.5.5視圖上的GRANT
15.5.6過程的GRANT
15.5.7約束
15.6 REVOKE 語句
15.7 DROP ROLE語句
15.8擁有一個什麼樣的特權
15.9違反安全係統
15.10 用戶函數
15.11供應商專用語
第16章 SQL目錄
16.1目錄
16.2目錄名
16.3信息模式
16.3.1INFORMATION-SCHEMA
基本錶
16.3.2INFORMATION SCHEMA
斷言
16.3.3INFORMATION SCGEMA
域
16.3.4 INFORMATI ON SCHEMA
視圖
第17章 SQL模式
17.1模式的構成
17.2CREATESCHEMA語句
17.3DROPSCHEMA語句
第18章 SQL錶和視圖
18.1基本錶
18.2視圖
18.3錶名
18.3.1 <錶名>
18.3.2 <關聯名>
18.4列
18.5CREATETABLE語句
18.5.1<錶內容源子句>
18.5.2臨時錶
18.6 <列定義>
18.6.1<數據類型>
18.6.2DEFAULT子句
18.6.3<列約束>
18.6.4<默認子句>
18.7ALTERTABLE 語句
18.7.1ADD[COLU'MN]子句
18.7.2ALTER[COLUMN]
SETDEFAULT子句
18.7.3ALTER[COLU MN ]
DROPDEFAULT子句
18.7.4 ALTER[COLUMN]
ADDSCOPE子句
18.7.5ALTER [COLUMN]
DROPSCORE子句
18.7.6DROP[COLUMN]
子句
18.7.7ADD[錶約束]子句
18.7.8DROPCONSTRAINTT子句
18.8DROPTABLE語句
18.9CREATEVTEW語句
18.9.1特權
18.9.2<列名>子句
18.9.3AS子句
18.9.4WITHCHECKOPTION
子句
18.9.5RECURSIVE視圖
18.10從視圖以外獲得更多
18.11DROPVIEW語句
18.12DECLARETABLE語句
18.13供應商專用語
第19章 SQL域
19.1域
19.2CREATEDOMAIN語句
19.2.1特權
19.2.2 <數據類型>
19.2.3DEFAULT子句
19.2.4 <域約束>
19.3ALTERDOMAIN語句
19.3.1SET DEFAULT 子句
19.3.2DROPDEFAULT子句
19.3.3ADD<域約束>子句
19.3.4DROP CONSTR AINT子句
19.4 DROPDOMAIN語句
19.5常用數字域
第20章 SQL約束和斷言
20.1約束
20.1.1非決定性約束
20.1.2約束可延遲性
20.1.3約束名
20.1.4 <錶約束>和<列約束>
20.1.5 <域約束>
20.2約束描述符
20.3約束定義
20.3.1 <約束名>
20.3.2約束類型
20.3.3延遲模式
20.3.4約束檢查時間
20.4 約束類型:UNIQUE約束
20.5約束類型:PRIMARYKEY約束
20.6約束類型:FOREIGN KEY約束
20.6.1引用列
20.6.2被引用錶和列
20.6.3特權
20.6.4MATCH子句
20.6.5引用行為
20.7約束型:NOTNULL約束
20.8約束類型:CHECK約束
20.9CREATEASSERTION語句
20.10互鎖引用
20.11撤消約束
20.12DROPASSERTION語句
20.13供應商專用語
第21章 SQL字符集
21.1字符集
21.2CREATECHARACTERSET語句
21.3DROPCHARACTERSET語句
第22章SQL排序
22.1排序
22.1.1排序名
22.1.2使用形式轉換名
22.2CREATECOLLATION語句
22.3DROPCOLLATION語句
第23章 SQL翻譯
23.1翻譯
23.2CREATETRANSLATION語句
23.3DROPTRANSLATION語句
第24章 SQL觸發器
24.1觸發器
24.2CREATETRIGGER語句
24.2.1ON子句
24.2.2觸發器動作時間
24.2.3觸發事件
24.2.4REFERENCING子句
24.2.5觸發動作
24.3觸發器的激活
24.4 觸發器範例
24.4.1觸發器範例:記錄刪除
24.4.2觸發器範例:插入默認
錶達式
24.4.3觸發器範例:約束替換
24.4.4 觸發器範例:級聯更新
24.5觸發器與約束
24.6DROPTRIGGER語句
24.7供應商專用語
第25章 SQL調用例程
25.1例程
25.1.1SQL調用例程名
25.1.2SQL參數名
25.2CREATEPROCEDURE/FUN-
CTION/METHOD語句
25.2.1CREATE<例程名>
子句
25.2.2參數說明清單
25.2.3RETURNS 子句
25.2.4例程特徵子句
25.2.5STATICDISPATCH
子句
25.2.6 <例程體>
25.3例程參數
25.3.1參數模式
25.3.2 <SQL參數名>
25.3.3 <數據類型>
25.3.4 RESULT
25.4調用例程
25.4.1CALL語句
25.4.2 <例程調用>
25.5例程示例
25.5.1例程示例:重置過程
25.5.2例程範例:常量函數
25.5.3例程範例:子查詢函數
25.5.4例程範例:撤消過程
25.6 RETURN語句
25.7外部例程
25.7.1NAME子句
25.7.2 PARAMETERSTYLE語句
25.7.3TRANSFORM GROUP子句
25.8ALTERROUTINE/PROCEDURE
/FUNCTION/MEIHOD語句
25.9DROPROUTINE/PROCEDURE
/FUNCTION/METHOD語句
25.10 供應商專用語
第26章 PSM:不僅僅是永久存儲模塊
26.1永久存儲模塊
26.2CREATEMODULE語句
26.3ALTERMODULE語句
26.4DROPMODULE語句
26.5BEGIN...END復閤語句
26.5.1ATOMIC語句
26.5.2變量
26.5.3賦值語句
26.5.4光標
26.5.5狀態
26.5.6處理程序
26.5.7標識
26.6SIGNAL語句
26.7RESIGNAL語句
26.8程序控製
26.8.1CASE語句
26.8.2IF語句
26.8.3LOOP語句
26.8.4LEAVE 語句
26.8.5WHILE語句
26.8.6REPEAT語句
26.8.7FOR語句
26.8.8ITERATE 語句
26.9是否每項內容都在SQL中?
26.10供應商專用語
第27章 用戶定義類型
27.1UDT
27.2UDT範例
27.3基於UDT的列
27.4定義一個基於UDT的類型錶
27.4.1將類型錶作為一個錶
27.4.2將類錶作為一個可
例示的錶
27.5CREATETYPE語句
27.6CREATETABLE語句
27.7CREATECAST語句
27.8CREATE ORD ERING語句
27.9對象/關係用戶的其他處理
27.9.1ALTERTYPE語句
27.9.2CREATEMETHOD 語句
27.9.3CREATETRANSFORM
語句
27.9.4 DROPCAST語句
27.9.5DROPORDERING語句
27.9.6DROPTRANSFRM語句
27.9.7DROPTYPE語句
27.9.8NEW語句
27.9.9TREAT語句
27.9.10DEREF函數
27.9.11SPECIFICTYPE函數
27.9.12間接引用操作
27.9.13TYPE判斷
27.10 對象/關係真正是麵嚮對象的嗎?
27.11供應商專用語
第28章 SQL數據操作簡介
28.1<值規範>
28.2<值錶達式>
28.3<行值構造符>
28.4<目標規範>
第29章 簡單搜索條件
29.1真值
29.2SELECT語句
29.2.1FROM子句
29.2.2WHERE 子句
29.2.3GROUP BY子句
29.2.4HAVING子句
29.2.5SELECTLIST子句
29.2.6簡單檢索
29.2.7限定檢索
29.2.8帶有字符檢索
29.2.9帶有計算錶達式的檢索
29.2.10帶有LIKE 的檢索
29.2.11以SIMILAR 檢索
29.2.12利用ISNULL檢索
29.2.13帶有標量函數的檢索
29.2.14使用日期計算檢索
29.2.15連結
29.3判斷
29.3.1 <比較判斷>
29.3.2 <之間判斷>
29.3.3 <相異判斷>
29.4 搜索條件
29.4.1子句中的搜索條件
29.4.2搜索舉例
29.5SQL的<情況錶達式>
29.6供應商專用語
第30章 連接搜索
30.1連接的錶
30.1.1笛卡爾過濾連接
30.1.2笛卡爾過濾連接Ⅱ:CR0SS
JOIN
30.1.3JOIN...USING
30.1.4NATURALJOIN
30.1.5JOIN..ON
30.1.6自連接
30.1.7Theta連接
30.1.8錯誤連接
30.1.9多錶連接
30.1.10避免重復
30.1.11外部連接
30.1.12聯閤連接
30.2語法規則
30.3供應商專用語
第31章 子查詢搜索
31.1子查詢語法
31.2標量子查詢
31.3行子查詢
31.4錶子查詢
31.5定量比較
31.5.1ALL
31.5.2ANY或SOME
31.5.3定量檢索
31.6判斷
31.6.1 <之內判斷>
31.6.2 <存在判斷>
31.6.3 <唯一判斷>
31.6.4 <匹配判斷>
31.6.5 <定量判斷>
31.7連接與子查詢
31.8子查詢範例
31.9子查詢提示
31.10 供應商專用語
第32章 集閤算符搜索
32.1<查詢錶達式>
32.2集閤運算語法
32.2.1ALLIDISTINCT
32.2.2 對應
32.3結果名和ORDERBY
32.4結果<數據類型>和兼容性
32.5集閤運算範例
32.6 更新能力
32.7遞歸閤並
32.8供應商專用語
第33章 成組搜索
33.1GROUPBY子句
33.1.1成組列規則
33.1.2 新語法
33.2集函數
33.2.1DISTINCT集函數
33.2.2集函數和“忽略NULL”
策略
33.2.3子查詢中的集函數
33.2.4使用集函數檢索
33.3HAVING子句
33.3.1不帶GROUPBY的
HAVING
33.3.2 使用成組檢索
33.4組視圖
33.5供應商專用語
第34章 整理搜索結果
34.1ORDERBY子句
34.1.1排序NULL
34.1.2DESC的作用
34.1.3不贊成的SQL-92
語法
34.1.4SQL3特性
34.1.5排序的檢索
34.2供應商專用語
第35章 更改SQL數據
35.1SQL數據更改語句
35.2INSERT語句
35.2.1INSERT列清單
35.2.2<查詢錶達式>
35.2.3DEFAULTVALUES
35.2.4INSERT範例
35.2.5INSERT機製
35.3UPDATE語句
35.3.1SET列
35.3.2SET行
35.3.3UPDATE範例
35.3.4UPDATE機製
35.4DELETE語句
35.4.1DELETE範例
35.4.2DELETE機製
35.5數據更改操作
35.6供應商專用語
第36章 SQL事務
36.1開始事務
36.2終止事務
36.2.1COMMIT語句
36.2.2SAVEPOINT語句
36.2.3ROLLBACK語句
36.2.4RELEASESAVEPOINT
語句
36.3使用存儲點
36.4事務提示
36.5相關信息
36.6供應商專用語
第37章 SQL事務並行處理
37.1隔離現象
37.2悲觀的並行操作:LOCKING
37.3樂觀的並行處理:TIMESTAMPING
37.4SETTRANSACTION語句
37.4.1訪問方式
37.4.2隔離級
37.4.3SET LOCAL TRAN SACTION
37.5START TRANSACTION語句
37.6特殊問題
37.7事務和約束檢查
37.8供應商專用語
第38章 SQL會話
38.1SQL連接
38.1.1CONNECT語句
38.1.2SETCONNECTION語句
38.1.3DLSCONNECT語句
38.2SQL 會話管理
38.2.1SETSESSIONCHARACTE
RISTICS語句
38.2.2SETSESSIONAUTHO
RIZATION語句
38.2.3SETROLE語句
38.2.4 SETTIM EZONE語句
第39章 嵌入式SQL綁定格式
39.1什麼是嵌入式SQL?
39.2預編譯器
39.3SQL前綴和終結符
39.4 宿主變量
39.4.1SQL <數據類型>和
宿主變量的對應
39.4.2輸入和輸齣變量
39.4.3指示符變量
39.5光標
39.5.1DECLARECURSOR語句
39.5.2OPEN語句
39.5.3FETCH語句
39.5.4單元素SELECT語句
39.5.5INSERT語句
39.5.6 定位的UPDATE語句
39.5.7定位的DELETE語句
39.5.8CLOSE語句
39.6嵌入式SQL範例
39.7診斷
39.7.1WHENEVER語句
39.7.2GETDIAGNOSTICS語句
39.8動態SQL
39.9小結
39.10供應商專用語
第40章 SQL/CLI 綁定格式
40.1CHAP40.1.C
40.2SQLCHAR 、SQLINTEG ER和其他
Typedef
40.3SQLRETURN
40.4句柄關係
40.5如何運行範例程序
40.6“標準的SQLCLI”等於“核心
ODBCAPI”
40.7如何描述每一個CLI函數
40.8Charac terStri ngRetrieval
第41章 SQL/CLI:env 函數
41.1空值結束
41.2SQLAllocHandle
41.3SQLAllocEnv
41.4SQLCetEnvAttr
41.5SQLSetEnvAttr
41.6SQLFreeHandle
41.7SQLFree Env
第42章 SQL/CLI:dbc 函數
42.1SQLAllocHandle
42.2SQLAllocConncet
42.3SQLConnect
42.4SQLDisconnect
42.5SQLGetConnectAttr
42.6SQLSetConnectAttr
42.7SQLFreeHandle
42.8SQLFree Connect
第43章 SQL/CLI:stmt 函數
43.1SQLAllocHandle
43.2SQLAllocStmt
43.3SQLGetStmtAttr
43.4SQLSetStmtAttr
43.5SQLFreeHandle
43.6SQLFreeStmt
第44章 SQL/CLI:語句函數
44.1預備SQL語句
44.2SQLPrepare
44.3SQLExecute
44.4SQLExecDirect
44.5 SQLE ndTran
第45章 SQL/CLI:光標函數
45.1SQLFetch
45.2SQLFetchScroll
45.3SQLCloseCursor
45.4SQLGetCursorName
45.5SQLSetCursorName
45.6嵌入式SQL與CLI
45.6.1定位的UPDATEIDELETE
語句
45.6.2單元素SELECT
45.6.3敏感光標
45.6.4可保持光標
45.7SQLMoreResults
第46章 SQL/CLI:desc 函數
46.1描述符區域
46.2desc 字段
46.2.1desc標題字段
46.2.2 desc 項目描述符區域
字段
46.3desc 函數
46.3.1SQLAll ocHandle
46.3.2SQLFreeHandle
46.3.3SQLGetDescField
46.3.4SQLSetDescField
46.3.5SQLGetDescRec
46.3.6SQLSetDescRec
46.3.7SQLCopy Desc
46.3.8SQLB indCol
46.3.9SQLGe tDate
46.3.10SQLBi ndPara meter
46.3.11SQLColAt tribute
46.3.12SQLDescribeCol
46.3.13SQLNumResultCol
46.3.14SQLGetParamData
第47章 SQL/CLI:診斷函數
47.1SQLGetDiagField
47.1.1 診斷字段:標題
47.1.2 診斷字段:狀態記錄
47.2SQLGetDiagRec
47.3SQLError
47.4SQLRowCount
47.5SQLSTATE代碼
47.5.1 SUCCESSCOMPLETION
SQLSTATE
47.5.2WARNING SQLSTATE
47.5.3 NODATASQLSTATE
47.5.4ERRORSQLSTATE
第48章 SQL/CLI:通用函數
48.1SQLDataSou rces
48.2SQLGetF unction
48.3SQLGetInfo
第49章 SQL/CLI:延遲參數函數
49.1如何傳送延遲參數
49.2SQLParar nData
49.3SQL PutData
49.4SQLCancel
第50章 SQL/CLI:定位器函數
50.1什麼是定位器?
50.1.1 FREELOCATOR語句
50.1.2HOLDLOCATOR 語句
50.2SQLGetLength
50.3SQLGetPosition
50.4SQLGetSubsString
第51章 SQL/CLI:目錄函數
51.1預備知識
51.2SQLColumnPrivileges
51.3SQLColumns
51.4SQLForeignKeys
51.5SQLTypeInfo
51.6SQIPatameters
51.7SQLPrimaryKeys
51.8SQLRoutinePrivileges
51.9SQLRoutines
51.10SQLSpecialColumns
51.11SQLTablePrivileges
51.12SQLTables
51.13結束語
第52章 模塊綁定格式
52.1SQL客戶模塊
52.2MODULE語句
52.3PROCEDURE語句
第53章 格式
53.1授權
53.2布局規則
53.3命名規則
53.4正式格式語句範例
53.5宿主語言程序
53.6小結
· · · · · · (
收起)