《Informix向导 Informix SQL参考与语法 下 语法》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)Informix Software编著;张光业等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2001
  • ISBN:711509179X
  • 页数:712 页
图书介绍:

第0章 关于本书 1

一、本书说明 1

1.用户类型 1

2.软件基础 1

3.关于本地语言字符集的假设 1

4.示范数据库 2

二、新的功能 2

1.8.3版本中新的功能 2

2.9.2版本中新的功能 3

三、文档编制约定 4

1.字体约定 4

2.语法约定 5

3.示例代码约定 8

四、其它文档 8

1.在线手册 8

2.错误消息文档 8

3.文档公告、发布公告和机器公告 9

五、兼容工业标准 9

六、Informix欢迎用户提出意见 10

第1章 SQL语法概述 11

1.0 本章简介 11

1.1 怎样输入SQL语句 11

1.1.1 使用语法图和语法表 11

1.1.2 使用例子 12

1.1.3 使用相关信息 12

1.2 怎样输入SQL注释 12

1.2.1 SQL注释符号的例子 13

1.2.2 SQL注释中的非ASCⅡ字符 13

1.3 SQL语句分类 14

1.3.1 数据定义语句 14

1.3.2 数据操作语句 15

1.3.3 指针操作语句 15

1.3.4 指针优化语句 15

1.3.5 动态管理语句 15

1.3.6 数据存储语句 15

1.3.7 数据完整性语句 15

1.3.8 优化语句 16

1.3.9 例程定义语句 16

1.3.10 辅助语句 16

1.3.11 客户机/服务器连接语句 16

1.3.12 光学子系统语句 16

1.4 与ANSI兼容与扩展 16

1.4.1 与ANSI标准兼容的语句 17

1.4.2 Informix扩展的与ANSI兼容的语句 17

1.4.3 对ANSI标准的语句扩展 17

第2章 SQL语句 19

2.0 本章内容 19

2.1 ALLOCATE COLLECTION 19

2.1.1 语法 19

2.1.2 用法 19

2.1.3 相关信息 20

2.2 ALLOCATE DESCRIPTOR 20

2.2.1 语法 21

2.2.2 用法 21

2.2.3 相关信息 22

2.3 ALLOCATE ROW 22

2.3.1 语法 22

2.3.2 用法 22

2.3.3 相关信息 23

2.4 ALTER FRAGMENT 23

2.4.1 语法 23

2.4.2 用法 24

2.4.3 ATTACH子句 25

2.4.4 DETACH子句 30

2.4.5 INIT子句 31

2.4.6 针对表的FRAGMENT BY子句 33

2.4.7 针对索引的FRAGMENT BY子句 34

2.4.8 ADD子句 35

2.4.9 DROP子句 37

2.4.10 MODIFY子句 38

2.5 ALTER FUNCTION 39

2.5.1 语法 39

2.5.2 用法 40

2.5.3 相关信息 40

2.6 ALTER INDEX 41

2.6.1 语法 41

2.6.2 用法 41

2.6.3 相关信息 42

2.7 ALTER PROCEDURE 42

2.7.1 语法 43

2.7.2 用法 43

2.7.3 相关信息 44

2.8 ALTER ROUTINE 44

2.8.1 语法 44

2.8.2 用法 45

2.8.3 相关信息 46

2.9 ALTER TABLE 46

2.9.1 语法 46

2.9.2 用法 47

2.9.3 基表选项 47

2.9.4 ADD子句 49

2.9.5 DEFAULT子句 50

2.9.6 单列约束形式 50

2.9.7 Drop子句 55

2.9.8 MODIFY子句 56

2.9.9 在不同情况下使用MODIFY子句 58

2.9.10 PUT子句 60

2.9.11 ADD CONSTRAINT子句 61

2.9.12 多列约束格式 62

2.9.13 DROP CONSTRAINT子句 63

2.9.14 MODIFY NEXT SIZE子句 64

2.9.15 LOCK MODE子句 64

2.9.16 ADD TYPE子句 65

2.9.17 Usage-TYPE选项 66

2.9.18 Typed Tables选项 67

2.9.19 相关信息 67

2.10 BEGIN WORK 68

2.10.1 语法 68

2.10.2 用法 68

2.10.3 WORK关键字 68

2.10.4 BEGIN WORK和符合ANSI标准的数据库 68

2.10.5 BEGIN WORK WITHOUT REPLICATION 69

2.10.6 关于BEGIN WORK的例子 69

2.10.7 相关信息 69

2.11 CLOSE 69

2.11.1 语法 70

2.11.2 用法 70

2.11.3 关闭SELECT或者FUNCTION指针 70

2.11.4 关闭插入指针 70

2.11.5 关闭集合指针 71

2.11.6 使用事务结束来关闭指针 71

2.11.7 相关信息 71

2.12 CLOSE DATABASE 71

2.12.1 语法 72

2.12.2 用法 72

2.12.3 相关信息 72

2.13 COMMIT WORK 73

2.13.1 语法 73

2.13.2 用法 73

2.13.3 在不符合ANSI标准的数据库中使用COMMIT WORK语句 73

2.13.4 在符合ANSI标准的数据库中使用COMMIT WORK语句 74

2.13.5 相关信息 74

2.14 CONNECT 74

2.14.1 语法 74

2.14.2 用法 75

2.14.3 数据库环境 78

2.14.4 USER子句 79

2.14.5 相关信息 81

2.15 CREATE AGGREGATE 81

2.15.1 语法 81

2.15.2 用法 82

2.15.3 聚合功能的扩展 82

2.15.4 并行执行 83

2.15.5 相关信息 83

2.16 CREATE CAST 83

2.16.1 语法 83

2.16.2 用法 84

2.16.3 源数据类型及目标数据类型 84

2.16.4 显式和隐式数据类型强制转换 84

2.16.5 WITH子句 85

2.16.6 相关信息 85

2.17 CREATE DATABASE 86

2.17.1 语法 86

2.17.2 用法 86

2.17.3 日志选项 86

2.17.4 相关信息 87

2.18 CREATE DISTINCT TYPE 87

2.18.1 语法 88

2.18.2 用法 88

2.18.3 有关distinct type的权限 88

2.18.4 支持的函数和数据类型强制转换 88

2.18.5 处理distinct type数据类型 89

2.18.6 相关信息 89

2.19 CREATE EXTERNAL TABLE 89

2.19.1 语法 90

2.19.2 用法 90

2.19.3 列定义 90

2.19.4 DATEFILES子句 93

2.19.5 Table选项 94

2.19.6 拒绝文件 96

2.19.7 实例 96

2.19.8 相关信息 97

2.20 CREATE FUNCTION 97

2.20.1 语法 98

2.20.2 用法 98

2.20.3 SPL函数 100

2.20.4 外部函数 101

2.20.5 被创建的数据对象的所有权 102

2.20.6 相关信息 102

2.21 CREATE FUNCTION FROM 103

2.21.1 语法 103

2.21.2 用法 103

2.21.3 相关信息 104

2.22 CREATE INDEX 104

2.22.1 语法 104

2.22.2 用法 105

2.22.3 索引类型选项 105

2.22.4 指定索引键 106

2.22.5 USING Access Method(存取方法)子句 110

2.22.6 FILLFACTOR选项 111

2.22.7 存储选项 112

2.22.8 索引的FRAGMENT BY子句 113

2.22.9 索引模式 115

2.22.10 数据库服务器如何处理禁用索引 117

2.22.11 锁定模式选项 117

2.22.12 通用键索引 117

2.22.13 相关信息 119

2.23 CREATE OPAQUE TYPE 120

2.23.1 语法 120

2.23.2 用法 120

2.23.3 关于不透明类型特权 120

2.23.4 命名不透明类型 121

2.23.5 INTERNALLENGTH修饰符 121

2.23.6 不透明类型修饰符 121

2.23.7 定义一个不透明类型 122

2.23.8 相关信息 123

2.24 CREATE OPCLASS 123

2.24.1 语法 124

2.24.2 用法 124

2.24.3 策略子句 125

2.24.4 SUPPORT子句 126

2.24.5 缺省运算符类 126

2.24.6 相关信息 126

2.25 CREATE PROCEDURE 126

2.25.1 语法 127

2.25.2 用法 128

2.25.3 SPL Procedures(SPL过程) 130

2.25.4 外部过程 130

2.25.5 创建的数据库对象的所有权 131

2.25.6 相关信息 131

2.26 CREATE PROCEDURE FROM 132

2.26.1 语法 132

2.26.2 用法 132

2.26.3 相关信息 133

2.27 CREATE ROLE 133

2.27.1 语法 133

2.27.2 用法 134

2.27.3 相关信息 134

2.28 CREATE ROUTINE FROM 134

2.28.1 语法 134

2.28.2 用法 135

2.28.3 相关信息 135

2.29 CREATE ROW TYPE 135

2.29.1 语法 135

2.29.2 用法 136

2.29.3 命名行类型的特权 136

2.29.4 继承性和命名行类型 136

2.29.5 命名行类型上的约束 137

2.29.6 域定义 137

2.29.7 serial和简单大对象数据类型的约束 138

2.29.8 相关信息 138

2.30 CREATE SCHEMA 139

2.30.1 语法 139

2.30.2 用法 140

2.30.3 在CREATE SCHEMA内创建数据库对象 140

2.30.4 在CREATE SCHEMA内授予特权 140

2.30.5 在CREATE SCHEMA外创建数据库对象或授予特权 140

2.30.6 相关信息 140

2.31 CREATE SYNONYM 140

2.31.1 语法 141

2.31.2 用法 141

2.31.3 在远程数据库的表上创建同义名 141

2.31.4 PUBLIC和PRIVATE同义名 142

2.31.5 链式同义名 142

2.31.6 相关信息 143

2.32 CREATE TABLE 143

2.32.1 语法 143

2.32.2 用法 144

2.32.3 列定义 144

2.32.4 DEFAULT子句 145

2.32.5 单列约束格式 147

2.32.6 REFERENCES子句 149

2.32.7 CHECK子句 152

2.32.8 约束定义 153

2.32.9 多列约束格式 154

2.32.10 选项 157

2.32.11 存储选项 158

2.32.12 FRAGMENT BY子句 159

2.32.13 RANGE Method子句 164

2.32.14 PUT子句 167

2.32.15 EXTENT SIZE Options(选项) 170

2.32.16 相关信息 175

2.33 CREATE Temporary TABLE 175

2.33.1 语法 175

2.33.2 用法 176

2.33.3 列的定义 177

2.33.4 单列约束格式 177

2.33.5 多列约束格式 178

2.33.6 选项 179

2.33.7 存储选项 179

2.33.8 临时表与永久表的区别 180

2.33.9 临时表的持续时间 180

2.33.10 相关内容 181

2.34 CREATE TRIGGER 181

2.34.1 语法 181

2.34.2 用法 182

2.34.3 触发器规则 182

2.34.4 触发事件 182

2.34.5 UPDATE子句 184

2.34.6 SELECT子句 185

2.34.7 Action子句 188

2.34.8 Insert的REFERENCING子句 189

2.34.9 Delete的REFERENCING子句 190

2.34.10 Update的REFERENCING子句 191

2.34.11 Select的REFERENCING子句 192

2.34.12 Action子句参考 192

2.34.13 被触发的动作列表 193

2.34.14 在被触发的动作中使用相关名字 195

2.34.15 重入触发器 197

2.34.16 SPL例程的规则 199

2.34.17 执行被触发的动作的权限 199

2.34.18 级联触发器 200

2.34.19 约束检查 201

2.34.20 防止触发器的互相覆盖 202

2.34.21 客户机/服务器环境 202

2.34.22 日志和恢复 203

2.34.23 触发器模式 203

2.34.24 相关信息 204

2.35 CREATE VIEW 204

2.35.1 语法 204

2.35.2 用法 205

2.35.3 在CREATE VIEW中所允许的SELECT语句的子集 206

2.35.4 命名视图的列 206

2.35.5 在SELECT语句中使用视图 207

2.35.6 使用WITH CHECK OPTION关键字 207

2.35.7 通过视图更新 207

2.35.8 相关信息 208

2.36 DATABASE 208

2.36.1 语法 208

2.36.2 用法 208

2.36.3 在ESQL/C中使用DATABASE语句 209

2.36.4 关键字EXCLUSIVE 209

2.36.5 相关信息 209

2.7 DEALLOCATE COLLECTION 209

2.37.1 语法 209

2.37.2 用法 210

2.37.3 相关信息 210

2.38 DEALLOCATE DESCRIPTOR 210

2.38.1 语法 211

2.38.2 用法 211

2.38.3 相关信息 211

2.39 DEALLOCATE ROW 211

2.39.1 语法 212

2.39.2 用法 212

2.39.3 相关信息 212

2.40 DECLARE 213

2.40.1 语法 213

2.40.2 用法 213

2.40.3 指针类型综述 215

2.40.4 选择指针或函数指针 216

2.40.5 与连续指针相联系的INSERT语句的子集 219

2.40.6 插入指针 219

2.40.7 指针特性 220

2.40.8 与指针相联的SELECT语句的子集 223

2.40.9 将指针与准备好的语句联系 224

2.40.10 联接指针与集合变量 225

2.40.11 在事务中使用指针 227

2.40.12 相关信息 228

2.41 DELETE 228

2.41.1 语法 228

2.41.2 用法 228

2.41.3 删除包含不透明数据类型的行 232

2.41.4 删除包含集合数据类型的行 232

2.41.5 从一个ANSI数据库中删除时的SQLSTATE值 232

2.41.6 从一个非ANSI数据库中删除时的SQLSTATE值 233

2.41.7 相关信息 233

2.42 DESCRIBE 233

2.42.1 语法 233

2.42.2 用法 234

2.42.3 描述语句类型 234

2.42.4 检查WHERE子句的存在 234

2.42.5 用运行时的参数描述语句 234

2.42.6 描述一个集合变量 236

2.42.7 相关信息 237

2.43 DISCONNECT 237

2.43.1 语法 237

2.43.2 用法 237

2.43.3 默认选项 238

2.43.4 CURRENT关键字 239

2.43.5 当任务处于激活状态时 239

2.43.6 在Tread-Safe(线程安全)环境中断开连接 239

2.43.7 指定ALL选项 239

2.43.8 相关信息 240

2.44 DROP AGGREGATE 240

2.44.1 语法 240

2.44.2 用法 240

2.44.3 相关信息 240

2.45 DROP CAST 240

2.45.1 语法 241

2.45.2 用法 241

2.45.3 相关信息 241

2.46 DROP DATABASE 241

2.46.1 语法 242

2.46.2 用法 242

2.46.3 相关信息 242

2.47 DROP FUNCTION 242

2.47.1 语法(见下页) 242

2.47.2 用法 242

2.47.3 删除SPL函数 243

2.47.4 相关信息 243

2.48 DROP INDEX 243

2.48.1 语法 244

2.48.2 用法 244

2.48.3 在约束上删除索引的作用 244

2.48.4 相关信息 244

2.49 DROP OPCLASS 244

2.49.1 语法 245

2.49.2 用法 245

2.49.3 相关信息 245

2.50 DROP PROCEDURE 245

2.50.1 语法 245

2.50.2 用法 246

2.50.3 删除SPL过程 246

2.50.4 相关信息 246

2.51 DROP ROLE 247

2.51.1 语法 247

2.51.2 用法 247

2.51.3 相关信息 247

2.52 DROP ROUTINE 247

2.52.1 语法 247

2.52.2 用法 248

2.52.3 删除SPL例程 248

2.52.4 相关信息 248

2.53 DROP ROW TYPE 248

2.53.1 语法 249

2.53.2 用法 249

2.53.3 例子 249

2.53.4 相关信息 249

2.54 DROP SYNONYM 250

2.54.1 语法 250

2.54.2 用法 250

2.54.3 相关信息 250

2.55 DROP TABLE 250

2.55.1 语法 250

2.55.2 用法 251

2.55.3 相关信息 252

2.56 DROP TRIGGER 252

2.56.1 语法 252

2.56.2 用法 253

2.56.3 相关信息 253

2.57 DROP TYPE 253

2.57.1 语法 253

2.57.2 用法 253

2.57.3 相关信息 253

2.58 DROP VIEW 254

2.58.1 语法 254

2.58.2 用法 254

2.58.3 相关信息 254

2.59 EXECUTE 254

2.59.1 语法 255

2.59.2 用法 255

2.59.3 INTO子句 256

2.59.4 USING子句 259

2.59.5 相关信息 261

2.60 EXECUTE FUNCTION 261

2.60.1 语法 261

2.60.2 用法 261

2.60.3 INTO子句 262

2.60.4 SPL函数动态例程名的指定 264

2.60.5 jvpcontrol函数 264

2.60.6 相关信息 265

2.61 EXECUTE IMMEDIATE 265

2.61.1 语法 265

2.61.2 用法 266

2.61.3 相关信息 267

2.62 EXECUTE PROCEDURE 267

2.62.1 语法 267

2.62.2 用法 268

2.62.3 SQLJ驱动内置过程 268

2.62.4 相关信息 273

2.63 FETCH 273

2.63.1 语法 273

2.63.2 用法 273

2.63.3 用顺序指针取出 275

2.63.4 用滚动指针取出 275

2.63.5 在内存中指定值的去处 276

2.63.6 为更新取出一行 279

2.63.7 从集合指针中取数据 280

2.63.8 检查取出的结果 281

2.63.9 相关信息 281

2.64 FLUSH 281

2.64.1 语法 281

2.64.2 用法 282

2.64.3 缓冲语句的错误检查 282

2.64.4 相关信息 282

2.65 FREE 283

2.65.1 语法 283

2.65.2 用法 283

2.65.3 释放一个语句 283

2.65.4 释放一个指针 284

2.65.5 相关信息 284

2.66 GET DESCRIPTOR 284

2.66.1 语法 285

2.66.2 用法 286

2.66.3 相关信息 288

2.67 GET DIAGNOSTICS 289

2.67.1 语法 289

2.67.2 用法 289

2.67.3 Statement子句 292

2.67.4 EXCEPTION子句 293

2.67.5 使用GET DIAGNOSTIC进行错误检查 297

2.68 GRANT 298

2.68.1 语法 298

2.68.2 用法 299

2.68.3 数据库级特权 299

2.68.4 表级特权 301

2.68.5 表引用 303

2.68.6 类型级特权 304

2.68.7 例程级特权 306

2.68.8 语言级特权 307

2.68.9 用户列表 308

2.68.10 角色名 309

2.68.11 WITH GRANT OPTION关键字 310

2.68.12 AS GRANTOR子句 310

2.68.13 相关信息 311

2.69 GRANT FRAGMENT 311

2.69.1 语法 311

2.69.2 用法 312

2.69.3 分段级特权 312

2.69.4 授予一个分段或一个分段列表中的所有分段的特权 314

2.69.5 把特权授予一个用户或一个用户列表中的所有用户 314

2.69.6 授予一种特权或一个特权列表中的所有特权 314

2.69.7 WITH GRANT OPTION子句 315

2.69.8 AS GRANTOR子句 315

2.69.9 相关信息 316

2.70 INFO 316

2.70.1 语法 316

2.70.2 用法 316

2.70.3 相关信息 318

2.71 INSERT 318

2.71.1 语法 318

2.71.2 用法 319

2.71.3 通过视图插入行 320

2.71.4 使用指针插入行 320

2.71.5 向无事务的数据库中插入行 321

2.71.6 向有事务的数据库中插入行 321

2.71.7 VALUES子句 321

2.71.8 考虑数据类型 321

2.71.9 使用INSERT作为动态管理语句 326

2.71.10 EXECUTE Routine子句 326

2.71.11 插入到行变量 327

2.71.12 相关信息 327

2.72 LOAD 327

2.72.1 语法 328

2.72.2 用法 328

2.72.3 LOAD FROM文件 328

2.72.4 DELIMITER子句 331

2.72.5 INSERT INTO子句 332

2.72.6 相关信息 332

2.73 LOCK TABLE 332

2.73.1 语法 332

2.73.2 用法 332

2.73.3 带有事务的数据库 333

2.73.4 没有事务的数据库 333

2.73.5 相关信息 334

2.74 OPEN 334

2.74.1 语法 334

2.74.2 用法 335

2.74.3 打开选择指针 335

2.74.4 打开函数指针 335

2.74.5 重开选择或函数指针 336

2.74.6 与选择和函数指针相关联的错误 336

2.74.7 打开插入指针 337

2.74.8 打开集合指针 337

2.74.9 USING子句 337

2.74.10 OPEN和FREE之间的关系 339

2.74.11 相关信息 340

2.75 OUTPUT语句 340

2.75.1 语法 340

2.75.2 用法 340

2.75.3 相关信息 341

2.76 PREPARE 341

2.76.1 语法 341

2.76.2 用法 341

2.76.3 使用语句标识符 342

2.76.4 语句标识符释放 342

2.76.5 语句正文 342

2.76.6 准备并执行用户定义例程 343

2.76.7 在单一准备语句里的限制语句 343

2.76.8 准备参数已知的语句 344

2.76.9 准备收到参数的语句 344

2.76.10 用SQL标识符准备语句 345

2.76.11 准备多SQL语句序列 348

2.76.12 多语句准备中被限制的语句 349

2.76.13 为了效率使用Prepared语句 349

2.76.14 相关信息 350

2.77 PUT 350

2.77.1 语法 350

2.77.2 用法 351

2.77.3 提供插入数值 351

2.77.4 使用USING子句 353

2.77.5 插入到集合指针 354

2.77.6 写缓存行 355

2.77.7 错误检查 356

2.77.8 相关信息 356

2.78 RENAME COLUMN 357

2.78.1 语法 357

2.78.2 用法 357

2.78.3 视图与检查约束如何被影响 357

2.78.4 触发器如何被影响 357

2.78.5 RENAME COLUMN例子 358

2.78.6 相关信息 358

2.79 RENAME DATABASE 358

2.79.1 语法 358

2.79.2 用法 358

2.79.3 相关信息 358

2.80 RENAME TABLE 358

2.80.1 语法 359

2.80.2 用法 359

2.80.3 重命名视图访问的表 359

2.80.4 改变有触发器的表名字 359

2.80.5 给表更改名字的例子 359

2.80.6 相关信息 360

2.81 REVOKE 360

2.81.1 语法 360

2.81.2 用法 360

2.81.3 数据库级特权 361

2.81.4 表级特权 362

2.81.5 类型级特权 365

2.81.6 例程级特权 366

2.81.7 语言级特权 367

2.81.8 用户列表 368

2.81.9 角色名 368

2.81.10 取消用WITH GRANT OPTION授权的特权 369

2.81.11 用RESTRICT选项控制REVOKE的范围 369

2.81.12 未提交事务的效果 370

2.81.13 相关信息 370

2.82 REVOKE FRAGMENT 370

2.82.1 语法 370

2.82.2 用法 371

2.82.3 分段级权限 371

2.82.4 REVOKE FRAGMENT语句的例子 372

2.82.5 相关信息 372

2.83 ROLLBACK WORK 372

2.83.1 语法 373

2.83.2 用法 373

2.83.3 WORK关键字 373

2.83.4 相关信息 373

2.84 SELECT 373

2.84.1 语法 374

2.84.2 用法 374

2.84.3 SELECT子句 375

2.84.4 INTO子句 380

2.84.5 FROM子句 382

2.84.6 Where子句 387

2.84.7 GROUP BY子句 393

2.84.8 HAVING子句 394

2.84.9 ORDER BY子句 395

2.84.10 FOR UPDATE子句 398

2.84.11 FOR READ ONLY子句 399

2.84.12 INTO Table子句 400

2.84.13 UNION算符 403

2.85 SET AUTOFREE 404

2.85.1 语法 404

2.85.2 用法 405

2.85.3 相关信息 406

2.86 SET CONNECTION 406

2.86.1 语法 406

2.86.2 用法 407

2.86.3 把睡眠连接转变成当前连接 407

2.86.4 使当前连接处于睡眠状态 407

2.86.5 标识连接 408

2.86.6 DEFAULT选项 409

2.86.7 CURRENT关键字 409

2.86.8 事务是活动的时候 409

2.86.9 相关信息 410

2.87 SET Database Object Mode 410

2.87.1 语法 410

2.87.2 用法 410

2.87.3 改变数据库对象模式必需的权限 410

2.87.4 table-mode格式 410

2.87.5 List_mode格式 411

2.87.6 约束模式和唯一索引 412

2.87.7 数据库对象模式的定义 412

2.87.8 触发器和重复索引模式 414

2.87.9 相关信息 414

2.88 SET DATASKIP 415

2.88.1 语法 415

2.88.2 用法 415

2.89 SET DEBUG FILE TO 416

2.89.1 语法 416

2.89.2 用法 416

2.89.3 相关信息 417

2.90 SET DEFERRED_PREPARE 417

2.90.1 语法 418

2.90.2 用法 418

2.90.3 SET DEFERRED_PREPARE选项 418

2.90.4 SET DEFERED_PREPARE例子 419

2.90.5 使用带OPTOFC的Deferred-Prepare 419

2.90.6 相关信息 419

2.91 SET DESCRIPTOR 420

2.91.1 语法 420

2.91.2 用法 420

2.91.3 项目描述符 421

2.91.4 用DESCRIBE语句修改值的设置 425

2.91.5 相关信息 425

2.92 SET EXPLAIN 425

2.92.1 语法 425

2.92.2 用法 426

2.92.3 SET EXPLAIN输出 427

2.92.4 相关信息 428

2.93 SET ISOLATION 428

2.93.1 语法 428

2.93.2 用法 428

2.93.3 Informix隔离级别 429

2.93.4 隔离级别效果 430

2.93.5 相关信息 431

2.94 SET LOCK MODE 431

2.94.1 语法 431

2.94.2 用法 431

2.94.3 WAIT子句 432

2.94.4 相关信息 432

2.95 SET LOG 432

2.95.1 语法 432

2.95.2 用法 432

2.95.3 相关信息 433

2.96 SET OPTIMIZATION 433

2.96.1 语法 433

2.96.2 用法 433

2.96.3 相关信息 435

2.97 SET PDQPRIDRITY 435

2.97.1 语法 435

2.97.2 用法 436

2.97.3 相关信息 437

2.98 SET PLOAD FILE 437

2.98.1 语法 437

2.98.2 用法 437

2.98.3 相关信息 438

2.99 SET Residency 438

2.99.1 语法 438

2.99.2 用法 438

2.99.3 相关信息 439

2.100 SET ROLE 439

2.100.1 语法 439

2.100.2 用法 439

2.100.3 相关信息 440

2.101 SET SCHEDULE LEVEL 440

2.101.1 语法 440

2.101.2 用法 440

2.101.3 相关信息 441

2.102 SET SESSION AUTHORIZATION 441

2.102.1 语法 441

2.102.2 用法 441

2.102.3 设置会话权限和事务处理程序 442

2.102.4 相关信息 442

2.103 SET STATEMENT CACHE 442

2.103.1 语法 442

2.103.2 用法 443

2.103.3 语句资格 444

2.103.4 相关信息 444

2.104 SET TRANSACTION 444

2.104.1 语法 444

2.104.2 用法 445

2.104.3 Informix隔离级别 446

2.104.4 存取模式 447

2.104.5 隔离级别的影响 447

2.104.6 相关信息 447

2.105 SET Transaction Mode 448

2.105.1 语法 448

2.105.2 用法 448

2.105.3 语句级检验 448

2.105.4 事务处理级检验 448

2.105.5 事务处理模式的作用时间 448

2.105.6 切换事务处理模式 449

2.105.7 指定全部约束或约束列表 449

2.105.8 指定远程的约束 449

2.105.9 为约束设定事务处理模式的例子 449

2.105.10 相关信息 450

2.106 START VIOLATIONS TABLE 450

2.106.1 语法 450

2.106.2 用法 451

2.106.3 START VIOLATIONS TABLE和SET Database Object Mode语句的关系 451

2.106.4 违例表在并发事务处理上的效果 451

2.106.5 停止违例和诊断表 452

2.106.6 USING子句 452

2.106.7 使用MAX ROWS子句 452

2.106.8 MAX VIOLATIONS子句的使用 452

2.106.9 START VIOLATIONS TABLE语句的例子 453

2.106.10 启动违例表所需要的权限 453

2.106.11 违例表的结构 453

2.106.12 诊断表的结构 457

2.106.13 相关信息 460

2.107 STOP VIOLATIONS TABLE 460

2.107.1 语法 461

2.107.2 用法 461

2.107.3 停止违例表所需要的权限 461

2.107.4 相关信息 461

2.108 TRUNCATE 462

2.108.1 语法 462

2.108.2 用法 462

2.108.3 相关信息 463

2.109 UNLOAD 463

2.109.1 语法 463

2.109.2 用法 464

2.109.3 UNLOAD TO文件 464

2.109.4 分隔符子句 466

2.109.5 相关信息 467

2.110 UNLOCK TABLE 467

2.110.1 语法 467

2.110.2 用法 467

2.110.3 相关信息 468

2.111 UPDATE 468

2.111.1 语法 468

2.111.2 用法 469

2.111.3 通过视图来更新行 470

2.111.4 在无事务处理的数据库中更新行 470

2.111.5 在进行事务处理的数据库中更新行 470

2.111.6 关于加锁的考虑 471

2.111.7 SET子句 471

2.111.8 单列格式 471

2.111.9 多列格式 473

2.111.10 更新行类型列 475

2.111.11 更新集合列 476

2.111.12 更新不透明类型列中的值 477

2.111.13 FROM子句的子集 477

2.111.14 WHERE子句 477

2.111.15 用WHERE CURRENT OF子句 478

2.111.16 更新行变量 479

2.111.17 相关信息 480

2.112 UPDATE STATISTICS 480

2.112.1 语法 480

2.112.2 用法 480

2.112.3 为表更新统计数据 482

2.112.4 使用LOW模式选项 483

2.112.5 使用MEDIUM模式选项 483

2.112.6 使用HIGH模式选项 484

2.112.7 Resolution子句 484

2.112.8 例程的统计数据 486

2.112.9 为包含用户自定义类型的列更新统计数据 487

2.112.10 升级数据库服务器时更新统计数据 487

2.112.11 性能 487

2.112.12 相关信息 488

2.113 WHENEVER 488

2.113.1 语法 488

2.113.2 用法 488

2.113.3 WHENEVER的作用域 489

2.113.4 SQLERROR关键字 490

2.113.5 ERROR关键字 490

2.113.6 SQLWARNING关键字 490

2.113.7 NOT FOUND关键字 490

2.113.8 CONTINUE关键字 491

2.113.9 STOP关键字 491

2.113.10 GOTO关键字 491

2.113.11 CALL子句 492

2.113.12 相关信息 492

第3章 SPL语句 493

3.0 本章简介 493

3.1 CALL 493

3.1.1 语法 494

3.1.2 用法 494

3.1.3 指定变量 494

3.1.4 接受来自调用UDR的输入 495

3.2 CASE 495

3.2.1 语法 495

3.2.2 用法 496

3.2.3 数据库服务器如何执行CASE语句 496

3.2.4 CASE语句中值表达式的计算 496

3.2.5 语句块中的有效语句 496

3.2.6 CASE语句实例 496

3.3 CONTINUE 497

3.3.1 语法 497

3.3.2 用法 497

3.4 DEFINE 498

3.4.1 语法 498

3.4.2 用法 499

3.4.3 参考TEXT和BYTE变量 499

3.4.4 再声明或再定义 499

3.4.5 声明GLOBAL变量 500

3.4.6 缺省值 501

3.4.7 复杂数据类型的子集 503

3.4.8 声明本地变量 503

3.5 EXIT 506

3.5.1 语法 506

3.5.2 用法 506

3.6 FOR 507

3.6.1 语法 507

3.6.2 用法 508

3.7 FOREACH 509

3.7.1 语法 510

3.7.2 用法 510

3.7.3 应用SELECT...INTO语句 511

3.7.4 在FOREACH语句中调用UDR 513

3.8 IF 514

3.8.1 语法 514

3.8.2 用法 514

3.8.3 IF语句列表 515

3.9 LET 516

3.9.1 语法 517

3.9.2 用法 517

3.10 ON EXCEPTION 519

3.10.1 语法 519

3.10.2 用法 519

3.10.3 使用IN子句设置特定的异常 521

3.10.4 接受SET子句中的错误信息 521

3.10.5 例程的强制继续 522

3.11 RAISE EXCEPTION 522

3.11.1 语法 522

3.11.2 用法 523

3.11.3 特殊错误号码 523

3.12 RETURN 523

3.12.1 语法 524

3.12.2 用法 524

3.12.3 带有RESUME关键字 525

3.13 SYSTEM 525

3.13.1 语法 525

3.13.2 用法 526

3.14 TRACE 527

3.14.1 语法 528

3.14.2 用法 528

3.15 WHILE 530

3.15.1 语法 530

3.15.2 用法 530

3.15.3 SPL例程中WHILE循环举例 530

第4章 Segment(段) 532

4.0 本章内容 532

4.0.1 段的描述范围 532

4.0.2 段描述的用法 532

4.0.3 本篇中的段 533

4.1 Argument(变元) 533

4.1.1 语法 533

4.1.2 用法 534

4.1.3 比较变元和变量列表 534

4.1.4 被允许作为变元的表达式子集 534

4.2 Collection Derived Table(集合派生表) 534

4.2.1 语法 535

4.2.2 用法 535

4.2.3 通过虚拟表格存取集合 536

4.2.4 通过集合变量存取集合 538

4.2.5 存取一个行变量 543

4.2.6 相关信息 543

4.3 Collection Subquery(集合子查询) 543

4.3.1 语法 544

4.3.2 用法 544

4.4 Condition(条件) 545

4.4.1 语法 545

4.4.2 用法 545

4.4.3 条件的限制 546

4.4.4 NOT运算符选项 546

4.4.5 比较条件(布尔表达式) 546

4.4.6 带有子查询的条件 553

4.4.7 带有AND或者OR的条件 557

4.5 Database Name(数据库名) 557

4.5.1 语法 558

4.5.2 用法 558

4.5.3 指定数据库服务器 558

4.6 Database Object Name(数据库对象名) 559

4.6.1 语法 559

4.6.2 用法 560

4.7 Data Type(数据类型) 561

4.7.1 语法 561

4.7.2 用法 561

4.7.3 内置数据类型 561

4.7.4 用户自定义数据类型 569

4.7.5 复杂数据类型 570

4.8 DATETIME Field Qualifier 572

4.8.1 语法 572

4.8.2 用法 573

4.9 Expression(表达式) 573

4.9.1 语法 573

4.9.2 用法 573

4.9.3 表达式列表 575

4.9.4 用数学操作符构造表达式 578

4.9.5 在表达式中连接运算符的用法 579

4.9.6 数据类型强制转换表达式 580

4.9.7 列表达式 581

4.9.8 条件表达式 586

4.9.9 常数表达式 591

4.9.10 构造器表达式 596

4.9.11 函数表达式 599

4.9.12 局部变量表达式(仅适用于IDS) 634

4.9.13 聚合表达式 635

4.10 External Routine Reference(外部例程引用) 644

4.10.1 语法 644

4.10.2 用法 644

4.11 Identifier(标识符) 646

4.11.1 语法 646

4.11.2 用法 647

4.11.3 分界标识符 647

4.11.4 潜在的不确定和语法错误 649

4.11.5 用法函数作为列名 649

4.11.6 用关键字作为列名 650

4.11.7 使用关键字作为表名 651

4.11.8 使用关键字AS的工作区 652

4.11.9 取关键字作为指针名 653

4.11.10 使用关键字作为UDR中的变量名 653

4.11.11 使用EXECUTE、SELECT或WITH作为指针名 655

4.11.12 在WHILE或FOR语句中的SELECT语句 655

4.11.13 在ON EXCEPTION语句中设置关键字 656

4.12 INTERVAL Field Qualifier 656

4.12.1 语法 656

4.12.2 用法 656

4.13 Jar Name 658

4.14 Literal Collection(直接量集合) 658

4.14.1 语法 659

4.14.2 用法 659

4.15 Literal DATETIME 661

4.15.1 语法 661

4.15.2 用法 662

4.16 Literal INTERVAL 662

4.16.1 语法 662

4.16.2 用法 662

4.17 Literal Number(直接量) 664

4.17.1 语法 664

4.17.2 用法 664

4.18 Literal Row(直接量行) 665

4.18.1 语法 665

4.18.2 用法 665

4.19 Optimizer Directives(优化器指令)(仅适用于IDS) 668

4.19.1 语法 668

4.19.2 用法 668

4.20 Owner Name(所有者名) 674

4.20.1 语法 675

4.20.2 用法 675

4.21 Quoted String(引号内的字符串) 677

4.21.1 语法 677

4.21.2 用法 677

4.21.3 在引号内的字符串中的新行字符 678

4.21.4 在串中使用引号 678

4.21.5 作为串的DATETIME和INTERVAL值 679

4.21.6 在条件中的LIKE和MATCHES 679

4.21.7 作为引号内的字符串插入值 679

4.22 Relational Operator(关系算符) 679

4.22.1 语法 680

4.22.2 用法 680

4.22.3 用法运算函数代替关系运算 680

4.22.4 英语数据的比较次序 681

4.22.5 在非缺省字符集中对ASCII字符的支持(仅适用于GLS) 682

4.23 Return子句 682

4.23.1 语法 682

4.23.2 用法 683

4.23.3 指针与非指针函数 684

4.24 Routine Modifier(例程修饰符) 684

4.24.1 语法 685

4.24.2 增加或修改例程修饰符 685

4.24.3 撤消例程修饰符 686

4.24.4 修饰符描述 686

4.24.5 ITERATOR(仅适用于扩展例程) 688

4.25 Routine Parameter List(例程参数列表) 691

4.25.1 语法 691

4.25.2 参数 691

4.25.3 用法 691

4.26 Shared-Object Filename(共享对象文件名) 694

4.26.1 语法 695

4.26.2 C共享对象文件 695

4.26.3 Java共享对象文件 696

4.27 Specific Name(专用名字) 697

4.27.1 语法 697

4.27.2 用法 697

4.28 Statement Block(语句块) 698

4.28.1 语法 698

4.28.2 用法 699

4.28.3 在数据操作段中调用的SPL例程的限制 701

附录A Dyanmic Server 2000保留字 703

附录B Enterprise Decision Server保留字 709