內容介紹
作品目錄
目 錄譯者序
前言
第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小結