第1章 引言 1
1.1 如何阅读本书 1
1.2 如何阅读SQL语法 1
1.3 什么是SQL? 2
1.4 SQL一致性 2
1.4.1 最小一致性 3
1.4.2 〈SQL对象标识符〉 3
1.4.3 增强一致性 4
1.5 SQL语句类 7
1.5.1 事务初始化SQL语句 7
1.5.2 应使用哪一个SQL语句? 7
1.6 SQL规则求值顺序 8
第2章 一般概念 9
2.1 集合论 9
2.1.1 关系 10
2.1.2 集合运算 11
2.2 概要:关系模型 14
2.3 SQL环境 17
2.4 SQL对象 18
2.4.1 群集 18
2.4.2 〈授权ID〉 18
2.4.3 特权 18
2.4.4 目录 18
2.4.5 模式 19
2.4.6 表 19
2.4.7 列 19
2.4.8 域和UDT 19
2.4.9 约束和断言 19
2.4.10 字符集 20
2.4.11 排序 20
2.4.12 翻译 20
2.4.13 触发器 20
2.4.14 模块 20
2.4.15 SQL调用例程 20
2.5 SQL数据类型 21
2.5.1 预定义〈数据类型〉 21
2.5.2 构造〈数据类型〉 23
2.5.3 用户定义类型 23
2.5.4 数据类型转换 23
2.5.5 站点 23
2.5.6 定位器 23
2.6 SQL语言元素 24
2.6.1 〈SQL特殊字符〉 24
2.6.2 〈标记〉 25
2.6.3 〈分隔符〉 25
2.6.4 〈字符〉 26
2.6.5 〈关键字〉 27
2.6.6 〈标识符〉 31
第3章 数字 35
3.1 数字<字符> 35
3.1.1 〈精确数字字符〉 35
3.1.2 〈近似数字字符〉 35
3.2 数字<数据类型> 36
3.2.1 INTEGER 36
3.2.2 SMALLINT 36
3.2.3 NUMERIC 37
3.2.4 DECIMAL 37
3.2.5 FLOAT 38
3.2.6 REAL 39
3.2.7 DOUBLE PRECISION 39
3.3 IEEF二进制浮点 40
3.4 数字运算 41
3.4.1 CAST 42
3.4.2 赋值 43
3.4.3 比较 44
3.4.4 其他操作 45
3.5 选择正确的<数据类型> 49
3.6 供应商专用语 50
3.7 SQL库 50
第4章 位串 52
4.1 <位串字符> 52
4.1.1 二进制〈位串字符〉 52
4.1.2 十六进制〈位串字符〉 52
4.2 位串<数据类型> 53
4.2.1 BIT 53
4.2.2 BIT VARYING 53
4.3 位运算 54
4.3.1 CAST 55
4.3.2 赋值 56
4.3.3 比较 57
4.3.4 其他运算 58
第5章 二进制串 61
5.1 <BLOB字符> 61
5.2 BLOB<据类型> 61
5.3 BLOB运算 62
5.3.1 CAST 63
5.3.2 赋值 63
5.3.3 比较 64
5.3.4 其他运算 64
第6章 字符 71
6.1 什么是字符? 71
6.1.1 拉丁字母 71
6.1.2 英语 72
6.1.3 法语 73
6.1.4 德语 73
6.1.5 西班牙语 73
6.1.6 荷兰、意大利、葡萄牙、巴斯克和卡塔兰语 74
6.1.7 威尔士语 74
6.1.8 北欧语言 74
6.1.9 中欧语言 75
6.1.10 波罗的海语言 75
6.1.11 土耳其语 75
6.1.12 斯拉夫语 75
6.1.13 希腊语 75
6.1.14 其他语言 76
6.2 其中有什么? 76
6.3 预定义字符集 76
6.3.1 SQL_CHARACTER 77
6.3.2 GRAPHIC_IRV和ASCII_GRAPHIC 78
6.3.3 LATIN1 79
6.3.4 ISO8BFT和ASCII_FULL 81
6.3.5 UNICODE和ISO10646 82
6.3.6 SQL_TEXT 82
第7章 字符串 84
7.1 字符串<字符> 84
7.1.1 〈字符串字符〉 84
7.1.2 〈国家特有字符串字符〉 85
7.2 字符串<数据类型> 86
7.2.1 CHARACTER 86
7.2.2 NATIONAL CHARACTER 88
7.2.3 CHARACTER VARYING 88
7.2.4 NATIONAL CHARACTER VARYING 89
7.2.5 CHARACTER LARGE OBJECT 90
7.2.6 NATIONAL CHARACTER LARGE OBJECT 91
7.3 字符串操作 94
7.3.1 CAST 94
7.3.2 赋值 96
7.3.3 比较 97
7.3.4 其他操作 99
7.4 字符串和字符集 115
7.5 字符串和排序 116
7.6 供应商专用语 118
第8章 时间值 119
8.1 预备知识 119
8.1.1 格雷果里历 119
8.1.2 闰秒 120
8.1.3 时区 121
8.2 时间<字符> 123
8.2.1 日期时间〈字符〉 123
8.2.2 时间间隔〈字符〉 125
8.3 时间<数据类型> 130
8.3.1 日期时间〈数据类型〉 130
8.3.2 时间间隔〈数据类型〉 136
8.4 时间运算 141
8.4.1 CAST 141
8.4.2 赋值 144
8.4.3 比较 146
8.4.4 其他运算 147
8.5 供应商专用语 156
8.6 SQL程序库 156
第9章 布尔值 158
9.1 <布尔字符> 158
9.2 布尔<数据类型> 158
9.3 布尔值运算 159
9.3.1 CAST 159
9.3.2 赋值 160
9.3.3 比较 160
9.3.4 其他运算 161
第10章 聚合类型 165
10.1 聚合<数据类型> 165
10.1.1 ARRAY 165
10.1.2 ARRAY〈元素引用〉 166
10.1.3 〈数组值构造符〉 166
10.2 聚合运算 167
10.2.1 CAST 167
10.2.2 赋值 167
10.2.3 比较 168
10.2.4 其他运算 169
10.3 理解示例 169
第11章 行类型 172
11.1 行<数据类型> 172
11.1.1 ROW 172
11.1.2 〈行引用〉 174
11.1.3 〈字段引用〉 174
11.1.4 〈行值构造符〉 174
11.2 行操作 175
11.2.1 赋值 175
11.2.2 比较 176
11.2.3 其他操作 177
11.2.4 标量操作 177
11.2.5 集函数 177
11.2.6 判断 177
11.3 综合示例 177
第12章 引用类型 179
12.1 引用<数据类型> 179
12.2 引用操作 180
12.2.1 CAST 180
12.2.2 赋值 180
12.2.3 比较 181
12.2.4 其他操作 181
第13章 空值 182
13.1 用NULL代表丢失的数据 182
13.2 NULL的含义 183
13.3 三值逻辑 184
13.3.1 判断 184
13.3.2 〈空值判断〉 184
13.4 可空性 185
13.5 重复的缺陷 185
13.6 NULL的趣事 186
13.6.1 NULL规范 186
13.6.2 集函数 186
13.6.3 搜索 186
13.6.4 约束 186
13.6.5 标量操作符和函数 186
13.6.6 排序 186
13.6.7 UNIQUE判断 187
13.6.8 〈引用类型〉 187
13.6.9 SQL/CLI 187
13.7 优化程序问题 187
13.8 NULLoclasts与NULLodules 187
13.8.1 NULLoclast方 188
13.8.2 NULLodule方 188
第14章 SQL群集 189
14.1 群集的概念 190
14.2 群集的名称 190
第15章 授权ID 191
15.1 <授权ID> 191
15.1.1 用户 191
15.1.2 角色 191
15.1.3 〈授权ID〉的类型 192
15.1.4 〈授权ID〉名 192
15.2 CREATE ROLE语句 193
15.3 特权 194
15.4 GRANT语句 196
15.4.1 〈授权特权语句〉 196
15.4.2 〈授权角色语句〉 197
15.5 数据控制 198
15.5.1 操作和对象 198
15.5.2 用户/角色 199
15.5.3 所有者 199
15.5.4 表的授权 200
15.5.5 视图上的GRANT 202
15.5.6 过程的GRANT 203
15.5.7 约束 203
15.6 REVOKE语句 203
15.7 DROP ROLE语句 206
15.8 拥有一个什么样的特权 206
15.9 违反安全系统 207
15.10 用户函数 207
15.11 供应商专用语 208
第16章 SQL目录 210
16.1 目录 210
16.2 目录名 210
16.3 信息模式 211
16.3.1 INFORMATION_SCHEMA基本表 211
16.3.2 INFORMATION_SCHEMA断言 212
16.3.3 INFORMATION_SCHEMA域 212
16.3.4 INFORMATION_SCHEMA视图 212
第17章 SQL模式 255
17.1 模式的构成 255
17.2 CREATE SCHEMA语句 256
17.3 DROP SCHEMA语句 258
第18章 SQL表和视图 260
18.1 基本表 260
18.2 视图 261
18.3 表名 262
18.3.1 〈表名〉 262
18.3.2 〈关联名〉 262
18.4 列 263
18.5 CREATE TABLE语句 265
18.5.1 〈表内容源子句〉 267
18.5.2 临时表 269
18.6 <列定义> 269
18.6.1 〈数据类型〉 270
18.6.2 DEFAULT子句 272
18.6.3 〈列约束〉 273
18.6.4 〈默认子句〉 273
18.7 ALTER TABLE语句 276
18.7.1 ADD[COLUMN]子句 276
18.7.2 ALTER[COLUMN]…SET DEFAULT子句 277
18.7.3 ALTER[COLUMN]…DROP DEFAULT子句 277
18.7.4 ALTER[COLUMN]…ADD SCOPE子句 277
18.7.5 ALTER[COLUMN]…DROP SCOPE子句 278
18.7.6 DROP[COLUMN]子句 278
18.7.7 ADD[表约束]子句 279
18.7.8 DROP CONSTRAINT子句 279
18.8 DROP TABLE语句 280
18.9 CREATE VIEW语句 280
18.9.1 特权 281
18.9.2 〈列名〉子句 282
18.9.3 AS子句 283
18.9.4 WTTH CHECK OPTION子句 286
18.9.5 RECURSIVE视图 289
18.10 从视图以外获得更多 289
18.11 DROP VIEW语句 290
18.12 DECLARE TABLE语句 291
18.13 供应商专用语 293
第19章 SQL域 294
19.1 域 294
19.2 CREATE DOMAIN语句 295
19.2.1 特权 296
19.2.2 〈数据类型〉 296
19.2.3 DEFAULT子句 297
19.2.4 〈域约束> 298
19.3 ALTER DOMAIN语句 298
19.3.1 SET DEFAULT子句 299
19.3.2 DROP DEFAULT子句 299
19.3.3 ADD〈域约束〉子句 299
19.3.4 DROP CONSTRAINT子句 299
19.4 DROP DOMAIN语句 299
19.5 常用数字域 300
第20章 SQL约束和断言 302
20.1 约束 302
20.1.1 非决定性约束 302
20.1.2 约束可延迟性 303
20.1.3 约束名 304
20.1.4 〈表约束〉和〈列约束〉 305
20.1.5 〈域约束〉 305
20.2 约束描述符 306
20.3 约束定义 307
20.3.1 〈约束名〉 308
20.3.2 约束类型 308
20.3.3 延迟模式 309
20.3.4 约束检查时间 309
20.4 约束_类型:UNIQUE约束 310
20.5 约束_类型:PRIMARY KEY约束 311
20.6 约束_类型:FOREIGN KEY约束 313
20.6.1 引用列 315
20.6.2 被引用表和列 315
20.6.3 特权 317
20.6.4 MATCH子句 317
20.6.5 引用行为 318
20.7 约束_类型:NOT MULL约束 324
20.8 约束_类型:CHECK约束 325
20.9 CREATE ASSERTION语句 328
20.10 互锁引用 330
20.11 撤消约束 333
20.12 DROP ASSERTION语句 333
20.13 供应商专用语 333
第21章 SQL字符集 334
21.1 字符集 334
21.2 CREATE CHARACIER SET语句 335
21.3 DROP CHARACTER SET语句 336
第22章 SQL排序 338
22.1 排序 338
22.1.1 排序名 339
22.1.2 使用形式转换名 339
22.2 CREATE COLLATION语句 340
22.3 DROP COLLATION语句 342
第23章 SQL翻译 343
23.1 翻译 343
23.2 CREATE TRANSLATION语句 344
23.3 DROP TRANSLATION语句 345
第24章 SQL触发器 347
24.1 触发器 347
24.2 CREATE TRIGGER语句 348
24.2.1 ON子句 350
24.2.2 触发器动作时间 350
24.2.3 触发事件 350
24.2.4 REFERENCING子句 351
24.2.5 触发动作 352
24.3 触发器的激活 353
24.4 触发器范例 354
24.4.1 触发器范例:记录删除 354
24.4.2 触发器范例:插入默认表达式 355
24.4.3 触发器范例:约束替换 355
24.4.4 触发器范例:级联更新 356
24.5 触发器与约束 357
24.6 DROP TRIGGER语句 357
24.7 供应商专用语 357
第25章 SQL调用例程 359
25.1 例程 359
25.1.1 SQL调用例程名 360
25.1.2 SQL参数名 361
25.2 CREATE PROCEDURE/FUNCTION/METHOD语句 361
25.2.1 CREATE…〈例程名〉子句 363
25.2.2 参数说明清单 364
25.2.3 RETURNS子句 364
25.2.4 例程特征子句 364
25.2.5 STATIC DISPATCH子句 365
25.2.6 〈例程体〉 366
25.3 例程参数 366
25.3.1 参数模式 366
25.3.2 〈SQL参数名〉 366
25.3.3 〈数据类型〉 366
25.3.4 RESULT 366
25.4 调用例程 367
25.4.1 CALL语句 367
25.4.2 〈例程调用〉 367
25.5 例程示例 368
25.5.1 例程示例:重置过程 368
25.5.2 例程范例:常量函数 368
25.5.3 例程范例:子查询函数 369
25.5.4 例程范例:撤消过程 369
25.6 RETURN语句 370
25.7 外部例程 370
25.7.1 NAME子句 371
25.7.2 PARAMETER STYLE语句 371
25.7 TRANSFORM GROUP子句 371
25.8 ALTER ROUTINE/PROCEDURE/FUNCTION/METHOD语句 372
25.9 DROP ROUTION/PROCEDURE/FUNCTION/METHOD语句 372
25.10 供应商专用语 373
第26章 PSM:不仅仅是永久存储模块 375
26.1 永久存储模块 375
26.2 CREATE MODULE语句 377
26.3 ALTER MODULE语句 378
26.4 DROP MODULE语句 378
26.5 BEGIN…END复合语句 378
26.5.1 ATOMIC语句 379
26.5.2 变量 379
26.5.3 赋值语句 380
26.5.4 光标 380
26.5.5 状态 381
26.5.6 处理程序 382
26.5.7 标识 383
26.6 SIGNAL语句 384
26.7 RESIGNAL语句 384
26.8 程序控制 384
26.8.1 CASE语句 385
26.8.2 IF语句 385
26.8.3 LOOP语句 386
26.8.4 LEAVE语句 386
26.8.5 WHILE语句 386
26.8.6 REPEAT语句 387
26.8.7 FOR语句 387
26.8.8 ITERATE语句 388
26.9 是否每项内容都在SQL中? 388
26.10 供应商专用语 388
第27章 用户定义类型 390
27.1 UDT 390
27.2 UDT范例 392
27.3 基于UDT的列 392
27.4 定义一个基于UDT的类型表 395
27.4.1 将类型表作为一个表 395
27.4.2 将类表作为一个可例示的表 396
27.5 CREATE TYPE语句 397
27.6 CREATE TABLE语句 400
27.7 CREATE CAST语句 401
27.8 CREATE ORDERING语句 403
27.9 对象/关系用户的其他处理 404
27.9.1 ALTER TYPE语句 404
27.9.2 CREATE METHOD语句 404
27.9.3 CREATE TRANSFORM语句 405
27.9.4 DROP CAST语句 405
27.9.5 DROP ORDERING语句 405
27.9.6 DROP TRANSFORM语句 405
27.9.7 DROP TYPE语句 405
27.9.8 NEW语句 405
27.9.9 TREAT语句 406
27.9.10 DEREF函数 406
27.9.11 SPECIFICTYPE函数 406
27.9.12 间接引用操作 406
27.9.13 TYPE判断 406
27.10 对象/关系真正是面向对象的吗? 406
27.11 供应商专用语 407
第28章 SQL数据操作简介 408
28.1 〈值规范〉 408
28.2 〈值表达式〉 409
28.3 〈行值构造符〉 410
28.4 〈目标规范〉 411
第29章 简单搜索条件 412
29.1 真值 412
29.2 SELECT语句 412
29.2.1 FROM子句 413
29.2.2 WHERE子句 413
29.2.3 GROUP BY子句 414
29.2.4 HAVING子句 414
29.2.5 SELECT LIST子句 414
29.2.6 简单检索 415
29.2.7 限定检索 416
29.2.8 带有字符检索 417
29.2.9 带有计算表达式的检索 417
29.2.10 带有LIKE的检索 417
29.2.11 以SIMIL AR检索 418
29.2.12 利用IS NULL检索 419
29.2.13 带有标量函数的检索 419
29.2.14 使用日期计算检索 420
29.2.15 连结 420
29.3 判断 422
29.3.1 〈比较判断〉 422
29.3.2 〈之间判断〉 424
29.3.3 〈相异判断〉 425
29.4 搜索条件 426
29.4.1 子句中的搜索条件 427
29.4.2 搜索举例 428
29.5 SQL的〈情况表达式〉 429
29.6 供应商专用语 433
第30章 连接搜索 434
30.1 连接的表 434
30.1.1 笛卡尔过滤连接 435
30.1.2 笛卡尔过滤连接Ⅱ:CROSS JOIN 436
30.1.3 JOIN…USING 436
30.1.4 NATURAL JOIN 436
30.1.5 JOIN…ON 435
30.1.6 自连接 435
30.1.7 Theta连接 438
30.1.8 错误连接 438
30.1.9 多表连接 439
30.1.10 避免重复 440
30.1.11 外部连接 440
30.1.12 联合连接 442
30.2 语法规则 443
30.3 供应商专用语 447
第31章 子查询搜索 448
31.1 子查询语法 448
31.2 标量子查询 449
31.3 行子查询 450
31.4 表子查询 451
31.5 定量比较 451
31.5.1 ALL 452
31.5.2 ANY或SOME 452
31.5.3 定量检索 453
31.6 判断 453
31.6.1 〈之内判断〉 454
31.6.2 〈存在判断〉 456
31.6.3 〈唯一判断〉 458
31.6.4 〈匹配判断〉 459
31.6.5 〈定量判断〉 461
31.7 连接与子查询 462
31.8 子查询范例 463
31.9 子查询提示 464
31.10 供应商专用语 464
第32章 集合算符搜索 465
32.1 <查询表达式> 465
32.2 集合运算语法 467
32.2.1 ALLIDISTINCT 468
32.2.2 对应 469
32.3 结果名和ORDER BY 471
32.4 结果<数据类型>和兼容性 472
32.5 集合运算范例 472
32.6 更新能力 474
32.7 递归合并 475
32.8 供应商专用语 477
第33章 成组搜索 478
33.1 GROUP BY子句 478
33.1.1 成组列规则 480
33.1.2 新语法 482
33.2 集函数 485
33.2.1 DISTINCT集函数 488
33.2.2 集函数和“忽略NULL”策略 488
33.2.3 子查询中的集函数 489
33.2.4 使用集函数检索 489
33.3 HAVING子句 490
33.3.1 不带GROUP BY的HAVING 492
33.3.2 使用成组检索 492
33.4 组视图 492
33.5 供应商专用语 493
第34章 整理搜索结果 494
34.1 ORDER BY子句 494
34.1.1 排序NULL 496
34.1.2 DESC的作用 496
34.1.3 不赞成的SQL-92语法 496
34.1.4 SQL3特性 497
34.1.5 排序的检索 497
34.2 供应商专用语 499
第35章 更改SQL数据 500
35.1 SQL数据更改语句 500
35.2 INSERT语句 501
35.2.1 INSERT列清单 501
35.2.2 〈查询表达式〉 502
35.2.3 DEFAULT VALUES 503
35.2.4 INSERT范例 504
35.2.5 INSERT机制 506
35.3 UPDATE语句 506
35.3.1 SET列 506
35.3.2 SET行 507
35.3.3 UPDATE范例 507
35.3.4 UPDATE机制 509
35.4 DELETE语句 509
35.4.1 DELETE范例 509
35.4.2 DELETE机制 510
35.5 数据更改操作 510
35.6 供应商专用语 512
第36章 SQL事务 513
36.1 开始事务 514
36.2 终止事务 514
36.2.1 COMMIT语句 515
36.2.2 SAVEPOINT语句 518
36.2.3 ROLLBACK语句 518
36.2.4 BRLEASE SAVEPOINT语句 519
36.3 使用存储点 520
36.4 事务提示 520
36.5 相关信息 521
36.6 供应商专用语 521
第37章 SQL事务并行处理 522
37.1 隔离现象 522
37.2 悲观的并行操作:LOCKING 523
37.3 乐观的并行处理:TIMESTAMPING 524
37.4 SET TRANSACTION语句 524
37.4.1 访问方式 525
37.4.2 隔离级 526
37.4.3 SET LOCAL TRANSACTION 527
37.5 START TRANSACTION语句 528
37.6 特殊问题 528
37.7 事务和约束检查 528
37.8 供应商专用语 530
第38章 SQL会话 531
38.1 SQL连接 531
38.1.1 CONNECT语句 531
38.1.2 SET CONNECTION语句 534
38.1.3 DISCONNECT语句 535
38.2 SQL会话管理 536
38.2.1 SET SESSION CHARACTE RISTICS语句 536
38.2.2 SET SESSION AUTHO RIZATION语句 536
38.2.3 SET ROLE语句 537
38.2.4 SNT TIME ZONE语句 538
第39章 嵌入式SQL绑定格式 539
39.1 什么是嵌入式SQL? 539
39.2 预编译器 540
39.3 SQL前缀和终结符 541
39.4 宿主变量 541
39.4.1 SQL〈数据类型〉和宿主变量的对应 541
39.4.2 输入和输出变量 546
39.4.3 指示符变量 547
39.5 光标 548
39.5.1 DECLARE CURSOR语句 549
39.5.2 OPEN语句 550
39.5.3 FETCH语句 550
39.5.4 单元素SELECT语句 551
39.5.5 INSERT语句 552
39.5.6 定位的UPDATE语句 553
39.5.7 定位的DELETE语句 553
39.5.8 CLOSE语句 554
39.6 嵌入式SQL范例 554
39.7 诊断 554
39.7.1 WHENEVER语句 556
39.7.2 GET DIAGNOSTICS语句 557
39.8 动态SQL 558
39.9 小结 559
39.10 供应商专用语 560
第40章 SQL/CLI绑定格式 562
40.1 CHAP40.1.C 562
40.2 SQLCNAP、SQLINTEGER和其他Typedef 563
40.3 SOLRETURN 564
40.4 句柄关系 564
40.5 如何运行范例程序 565
40.6 “标准的SQL CLI”等于“核心ODBC API” 565
40.7 如何描述每一个CLI函数 566
40.8 CharacterStringRetrieval 568
第41章 SQL/CLI:env函数 570
41.1 空值结束 570
41.2 SQLAllocHandle 570
41.3 SQLAllocEnv 572
41.4 SQLGetEnvAttr 573
41.5 SQLSetEnvAttr 574
41.6 SQLFreeHandle 575
41.7 SQLFreeEnv 575
第42章 SQL/CLI:dbc函数 577
42.1 SQLAllocHandle 577
42.2 SQLAllocConnect 578
42.3 SQLConnect 578
42.4 SQLDisconnect 581
42.5 SQLGetConnectAttr 582
42.6 SQLSetConnectAttr 584
42.7 SQLFreeHandle 585
42.8 SQLFreeConnect 585
第43章 SQL/CLI:stmt函数 587
43.1 SQLAllocHandle 587
43.2 SQLAllocStmt 588
43.3 SQLGetStmtAttr 589
43.4 SQLSetStrntAttr 591
43.5 SQLFreeHandle 594
43.6 SQLFreeStmt 595
第44章 SQL/CLI:语句函数 597
44.1 预备SQL语句 598
44.2 SQLPrepare 599
44.3 SQLExecute 601
44.4 SQLExecDirect 602
44.5 SQLEndTran 604
第45章 SQL/CLI:光标函数 607
45.1 SQLFetch 607
45.2 SQLFetchScroll 610
45.3 SQLCloseCursor 612
45.4 SQLGetCursorName 613
45.5 SQLSetCursorName 614
45.6 嵌入式SQL与CLI 614
45.6.1 定位的UPDATE|DELETE语句 615
45.6.2 单元素SELECT 616
45.6.3 敏感光标 616
45.6.4 可保持光标 617
45.7 SQLMoreResults 617
第46章 SQL/CLI:desc函数 619
46.1 描述符区域 619
46.2 desc字段 621
46.2.1 desc标题字段 621
46.2.2 desc项目描述符区域字段 624
46.3 desc函数 433
46.3.1 SOLAllocHandle 433
46.3.2 SQLFreeHandle 434
46.3.3 SQLGetDescField 435
46.3.4 SQLSetDescField 638
46.3.5 SQLGetDescRec 643
46.3.6 SQLSetDescRec 645
46.3.7 SQLCopyDesc 647
46.3.8 SQLBindCol 649
46.3.9 SQLGetData 654
46.3.10 SQLBindParameter 656
46.3.11 SQLColAttribute 664
46.3.12 SQLDescribeCol 666
46.3.13 SQLNumResultCol 669
46.3.14 SQLGetParamData 670
第47章 SQL/CLI:诊断函数 672
47.1 SQLGetDiagField 673
47.1.1 诊断字段:标题 673
47.1.2 诊断字段:状态记录 677
47.2 SQLGetDiagRec 683
47.3 SQLError 686
47.4 SQLRowCount 688
47.5 SQLSTATE代码 689
47.5.1 SUCCESS COMPLETION SQLSTATE 690
47.5.2 WARNING SQLSTATE 690
47.5.3 NO DATA SQLSTATE 692
47.5.4 ERROR SQLSTATE 693
第48章 SQL/CLI:通用函数 707
48.1 SQLDataSources 707
48.2 SQLGetFunction 709
48.3 SQLGetInfo 712
第49章 SQL/CLI:延迟参数函数 720
49.1 如何传送延迟参数 720
49.2 SQLParamData 721
49.3 SQL PutData 722
49.4 SQLCancel 724
第50章 SQL/CLI:定位器函数 726
50.1 什么是定位器? 726
50.1.1 FREELDCATOR语句 726
50.1.2 HOLDLOCATOR语句 726
50.2 SQLGetLength 727
50.3 SQLGetPosition 728
50.4 SQLGetSubString 729
第51章 SQL/CLI:目录函数 730
51.1 预备知识 730
51.2 SQLColumnPrivileges 731
51.3 SOLColumns 732
51.4 SQLForeignKeys 738
51.5 SQLTypeInfo 741
51.6 SQLParameters 742
51.7 SQLPrimaryKeys 743
51.8 SQLRoutinePrivileges 745
51.9 SQLRoutines 746
51.10 SQLSpecialColumns 748
51.11 SQLTablePrivileges 750
51.12 SQLTables 752
51.13 结束语 755
第52章 模块绑定格式 756
52.1 SQL客户模块 756
52.2 MODULE语句 756
52.3 PROCEDURE语句 758
第53章 格式 760
53.1 授权 761
53.2 布局规则 761
53.3 命名规则 768
53.4 正式格式语句范例 772
53.5 宿主语言程序 774
53.6 小结 776