为可移植 DB2 应用程序开发精选的常用 SQL 特性
2009-11-20 00:00:00 来源:WEB开发网核心提示:简介IBM 致力于以一种通用的可移植的并且支持 ANSI/ISO SQL 标准的方式,交付对所有平台的客户都非常重要的 SQL 特性,为可移植 DB2 应用程序开发精选的常用 SQL 特性,在同一时期内,某些特性可能无法在所有 DB2 产品上提供,因为我们一直在不停地发布新特性,因为客户与市场之间的差异,这可能是因为不
简介
IBM 致力于以一种通用的可移植的并且支持 ANSI/ISO SQL 标准的方式,交付对所有平台的客户都非常重要的 SQL 特性。在同一时期内,某些特性可能无法在所有 DB2 产品上提供。这可能是因为不同 DB2 产品的发布时间稍有不同。也可能是因为客户需求会加快特定 DB2 产品上的某一 SQL 特性的开发速度。
许多IBM 的数据库客户和独立软件供应商都对编写跨多个平台的可移植应用程序感兴趣。其他人员则更喜欢使用 DB2 for Windows 等开发应用程序,然后将其部署到 DB2 for z/OS 上。这些应用程序开发人员要求我们为他们提供一个常用 SQL 语言特性列表,以便快速参考。
这个常用 SQL 应用程序特性的总结可以看作是一个快速参考指南,它包括频繁使用的跨平台特性和函数。
包含的产品
DB2 Version 9.5 for Linux, UNIX, and Windows
DB2 Version 9.1 for z/OS
DB2 Version 6.1 for IBM i
内容
基本元素
数据类型
特殊注册
谓词
列函数
标量函数
查询
基本语句
数据交换语句
面向游标的操作
连接和事务控制
动态设备
控制语句
数据定义
授权
其他语句
宿主语言
键
| Y | 包含所有 支持的产品。 |
| P | 包含部分 支持的产品;查看产品信息。 |
基本元素
| 语言元素 | LUW | z/OS | i | 说明 |
| 标识符 —— 普通 | Y | Y | Y | |
| 标识符 —— 限定 | Y | Y | Y | |
| 支持小写字母和后置下划线的标识符 | Y | Y | Y | |
| 数据类型级联 —— 隐式 | Y | Y | Y | |
| 基于代码页的自动数据转换 | Y | Y | Y | |
| 常量 | Y | Y | Y | |
| 字符常量的十六进制规范 | Y | Y | Y | |
| Null 值 | Y | Y | Y | |
| 列引用 | Y | Y | Y | |
| 宿主变量引用 | Y | Y | Y | |
| 指示器变量 | Y | Y | Y | |
| 宿主结构 | Y | Y | Y | |
| “友好” 算法和转换 | Y | Y | Y | |
| 算术运算符 | Y | Y | Y | |
| 字符串串联 | Y | Y | Y | |
| 作为表达式的标量子选择 | Y | Y | Y | |
| 作为表达式的标量完全选择 | Y | Y | Y | |
| 日期/时间算法 | Y | Y | Y | |
| CASE 表达式 | Y | Y | Y | |
| CAST 规范 | Y | Y | Y | |
| ROW CHANGE 表达式 | Y | Y | Y | |
| 序列引用(NEXT VALUE 和 PREVIOUS VALUE) | Y | Y | Y | |
| OLAP 排序规范(RANK、DENSE_RANK) | Y | Y | Y | |
| OLAP 编号规范(ROW_NUMBER) | Y | Y | Y | |
| 诊断区域 | Y | Y | Y |
数据类型
| 语言元素 | LUW | z/OS | i | 说明 |
| SMALLINT | Y | Y | Y | |
| INTEGER | Y | Y | Y | |
| BIGINT | Y | Y | Y | |
| DECIMAL | Y | Y | Y | |
| NUMERIC | Y | Y | Y | NUMERIC 在 DB2 for i 上定义为区位十进制,在其他平台则定义为压缩十进制。 |
| REAL | Y | Y | Y | 针对跨平台的移植性,不使用 FLOAT(n)。 |
| DOUBLE 或 FLOAT | Y | Y | Y | 针对跨平台的移植性,不使用 FLOAT(n)。 |
| DECFLOAT | Y | Y | Y | |
| CHARACTER | Y | Y | Y | |
| VARCHAR | Y | Y | Y | |
| 使用 CHAR 或 VARCHAR 的 FOR BIT DATA | Y | Y | Y | |
| CLOB | Y | Y | Y | |
| 使用 CHAR、VARCHAR 或 CLOB 的 FOR SBCS 或 MIXED DATA | P | Y | Y | |
| BLOB | Y | Y | Y | |
| GRAPHIC | Y | Y | Y | |
| VARGRAPHIC | Y | Y | Y | |
| DBCLOB | Y | Y | Y | |
| DATE | Y | Y | Y | |
| TIME | Y | Y | Y | |
| TIMESTAMP | Y | Y | Y | |
| 用户定义的独特类型 | Y | Y | Y |
特殊注册
| 语言元素 | LUW | z/OS | i | 说明 |
| CURRENT CLIENT_ACCTNG | Y | Y | Y | |
| CURRENT CLIENT_APPLNAME | Y | Y | Y | |
| CURRENT CLIENT_USERID | Y | Y | Y | |
| CURRENT CLIENT_WRKSTNNAME | Y | Y | Y | |
| CURRENT DATE | Y | Y | Y | |
| CURRENT_DATE | Y | Y | Y | |
| CURRENT DECFLOAT ROUNDING MODE | Y | Y | Y | |
| CURRENT DEGREE | Y | Y | Y | |
| CURRENT PATH | Y | Y | Y | |
| CURRENT_PATH | Y | Y | Y | |
| CURRENT SCHEMA | Y | Y | Y | |
| CURRENT_SCHEMA | Y | Y | Y | |
| CURRENT SERVER | Y | Y | Y | |
| CURRENT TIME | Y | Y | Y | |
| CURRENT_TIME | Y | Y | Y | |
| CURRENT TIMESTAMP | Y | Y | Y | |
| CURRENT_TIMESTAMP | Y | Y | Y | |
| CURRENT TIMEZONE | Y | Y | Y | |
| SESSION_USER | Y | Y | Y | |
| USER | Y | Y | Y |
谓词
| 语言元素 | LUW | z/OS | i | 说明 |
| 除了 LOB 类型的基本谓词(= <> < > <= >=) | Y | Y | Y | |
| 使用在比较运算符右边进行标量子查询的基本谓词 | Y | Y | Y | |
| 在左边使用单个表达式(没有子查询)、在右边子查询的限定谓词(ALL、ANY 或 SOME) | Y | Y | Y | |
| BETWEEN(没有标量子查询) | Y | Y | Y | |
| EXISTS(子查询) | Y | Y | Y | |
| 后跟表达式列表的 IN | Y | Y | Y | |
| 后跟单个列子查询的 IN | Y | Y | Y | |
| IS NULL(没有标量子查询) | Y | Y | Y | |
| 使用宿主变量或字符串常量作为模式的 LIKE | Y | Y | Y | |
| 有针对模式和转义符的表达式的 LIKE | Y | Y | Y |
聚合函数
| 语言元素 | LUW | z/OS | i | 说明 |
| AVG | Y | Y | Y | |
| COUNT | Y | Y | Y | |
| COUNT_BIG | Y | Y | Y | |
| MAX | Y | Y | Y | |
| MIN | Y | Y | Y | |
| STDDEV | Y | Y | Y | |
| SUM | Y | Y | Y | |
| VARIANCE 或 VAR | Y | Y | Y |
标量函数
| 语言元素 | LUW | z/OS | i | 说明 |
| ABSVAL 或 ABS | Y | Y | Y | |
| ACOS | Y | Y | Y | |
| ASCII | Y | Y | Y | |
| ASIN | Y | Y | Y | |
| ATAN | Y | Y | Y | |
| ATANH | Y | Y | Y | |
| ATAN2 | Y | Y | Y | |
| BIGINT | Y | Y | Y | |
| BLOB | Y | Y | Y | |
| CEIL 或 CEILING | Y | Y | Y | |
| CHAR(没有字符串单元) | Y | Y | Y | |
| CHARACTER_LENGTH 或 CHAR_LENGTH(没有字符串单元) | P | P | Y | 对于 LUW 和 z/OS,需要参数 CODEUNITS16 来获得对大多数数据等效的功能。 |
| CLOB(没有字符串单元) | Y | Y | Y | |
| COALESCE(或 VALUE) | Y | Y | Y | |
| COMPARE_DECFLOAT | Y | Y | Y | |
| CONCAT | Y | Y | Y | |
| CONTAINS | Y | Y | Y | |
| COS | Y | Y | Y | |
| COSH | Y | Y | Y | |
| DATE | Y | Y | Y | |
| DAY | Y | Y | Y | |
| DAYNAME | Y | P | Y | z/OS 支持函数作为模式 DSN8 中的样例。 |
| DAYOFWEEK | Y | Y | Y | |
| DAYOFWEEK_ISO | Y | Y | Y | |
| DAYOFYEAR | Y | Y | Y | |
| DAYS | Y | Y | Y | |
| DBCLOB(没有字符串单元) | Y | Y | Y | |
| DECFLOAT | Y | Y | Y | |
| DECIMAL 或 DEC | Y | Y | Y | |
| DECRYPT_BIT | P | Y | Y | LUW 支持带有名称 DECRYPT_BIN 的函数。 |
| DECRYPT_CHAR | Y | Y | Y | |
| DEGREES | Y | Y | Y | |
| DIFFERENCE | Y | Y | Y | |
| DIGITS | Y | Y | Y | |
| DOUBLE 或 DOUBLE_PRECISION | Y | Y | Y | |
| ENCRYPT | Y | Y | Y | ENCRYPT 函数的语法很普通,但 z/OS 的结果将使用 ENCRYPT_TDES 格式而不是 ENCRYPT_RC2。 |
| EXP | Y | Y | Y | |
| FLOAT | Y | Y | Y | |
| FLOOR | Y | Y | Y | |
| GENERATE_UNIQUE | Y | Y | Y | |
| GETHINT | Y | Y | Y | |
| GRAPHIC(没有字符串单元) | P | Y | Y | |
| HEX | Y | Y | Y | |
| HOUR | Y | Y | Y | |
| IDENTITY_VAL_LOCAL | Y | Y | Y | |
| INSERT(没有字符串单元) | Y | Y | Y | |
| INTEGER 或 INT | Y | Y | Y | |
| JULIAN_DAY | Y | Y | Y | |
| LCASE | Y | Y | Y | |
| LEFT(没有字符串单元) | P | Y | Y | |
| LENGTH(没有字符串单元) | Y | Y | Y | |
| LN | Y | Y | Y | |
| LOCATE(没有字符串单元) | Y | Y | Y | |
| LOG10 | Y | Y | Y | |
| LOWER | Y | Y | Y | |
| LTRIM | P | P | Y | LUW 不支持 CLOB 参数。z/OS 不支持 CLOB 参数。 |
| MAX | Y | Y | Y | |
| MICROSECOND | Y | Y | Y | |
| MIDNIGHT_SECONDS | Y | Y | Y | |
| MIN | Y | Y | Y | |
| MINUTE | Y | Y | Y | |
| MOD | P | Y | Y | |
| MONTH | Y | Y | Y | |
| MONTHNAME | Y | P | Y | z/OS 支持函数作为模式 DSN8 中的样例。 |
| MULTIPLY_ALT | Y | Y | Y | |
| NORMALIZE_DECFLOAT | Y | Y | Y | |
| NULLIF | P | P | Y | LUW 不支持 LOB 参数。z/OS 不支持 LOB 参数。 |
| POSITION(没有字符串单元) | P | P | Y | 对于 LUW 和 z/OS,需要参数 CODEUNITS16 来获得对大多数数据等效的功能。 |
| POSSTR | Y | Y | Y | |
| POWER | Y | Y | Y | |
| QUANTIZE | Y | Y | Y | |
| QUARTER | Y | Y | Y | |
| RADIANS | Y | Y | Y | |
| RAISE_ERROR | Y | Y | Y | |
| RAND | Y | Y | Y | |
| REAL | Y | Y | Y | |
| REPEAT | P | P | Y | LUW 不支持图形类型。z/OS 不支持 LOB 参数。 |
| REPLACE | P | P | Y | LUW 不支持图形类型。z/OS 不支持 LOB 参数。 |
| RID | Y | Y | Y | |
| RIGHT(没有字符串单元) | P | Y | Y | LUW 不支持图形类型。 |
| ROUND | Y | Y | Y | |
| RTRIM | P | P | Y | LUW 不支持 CLOB 参数。z/OS 不支持 CLOB 参数。 |
| SCORE | Y | Y | Y | |
| SECOND | Y | Y | Y | |
| SIGN | Y | Y | Y | |
| SIN | Y | Y | Y | |
| SINH | Y | Y | Y | |
| SMALLINT | Y | Y | Y | |
| SOUNDEX | Y | Y | Y | |
| SPACE | P | Y | Y | |
| SQRT | P | Y | Y | |
| STRIP | Y | Y | Y | |
| SUBSTR | Y | Y | Y | |
| SUBSTRING(没有字符串单元) | P | P | Y | 对于 LUW 和 z/OS,需要参数 CODEUNITS16 来获得对大多数数据等效的功能。 |
| TAN | Y | Y | Y | |
| TANH | Y | Y | Y | |
| TIME | Y | Y | Y | |
| TIMESTAMP | Y | Y | Y | |
| TIMESTAMP_ISO | Y | Y | Y | |
| TIMESTAMP_FORMAT 或 TO_DATE | Y | Y | Y | |
| TIMESTAMPDIFF | Y | Y | Y | |
| TOTALORDER | Y | Y | Y | |
| TRANSLATE | Y | Y | Y | |
| TRUNCATE 或 trUNC | Y | Y | Y | |
| UCASE 或 UPPER | Y | Y | Y | |
| VALUE | Y | Y | Y | |
| VARCHAR(没有字符串单元) | P | Y | Y | |
| VARCHAR_FORMAT 或 TO_CHAR | Y | Y | Y | |
| VARGRAPHIC(没有字符串单元) | Y | Y | Y | |
| WEEK | Y | Y | Y | |
| WEEK_ISO | Y | Y | Y | |
| YEAR | Y | Y | Y |
查询
| 语言元素 | LUW | z/OS | i | 说明 |
| SELECT 子句 | Y | Y | Y | |
| SELECT 子句中的 AS 子查询 | Y | Y | Y | |
| SELECT 子句中的 Qualified * 或 unqualified * | Y | Y | Y | |
| SELECT 子句中除标量子查询以外的表达式 | Y | Y | Y | |
| SELECT 子句中允许使用聚合函数,不管结果是否表派生于分组视图 | Y | Y | Y | |
| 引用单个表或视图的 FROM 子句 | Y | Y | Y | |
| 带有隐式内部联接(用多个逗号分隔的表引用)的 FROM 子句 | Y | Y | Y | |
| 带有包含子查询的嵌套表表达式的 FROM 子句 | Y | Y | Y | |
| 带有用 TABLE 关键字优先的表表达式的 FROM 子句 | Y | Y | Y | |
| 带有隐式 INNER JOIN 的 FROM 子句 | Y | Y | Y | |
| 带有 LEFT OUTER JOIN 的 FROM 子句 | Y | Y | Y | |
| 带有 RIGHT OUTER JOIN 的 FROM 子句 | Y | Y | Y | |
| 联合条件相等的 FULL OUTER JOIN 的 FROM 子句 | Y | Y | Y | |
| 带有 INSERT 语句 的 FROM 子句 | Y | Y | Y | |
| WHERE 子句 | Y | Y | Y | |
| 引用列名称的 GROUP BY | Y | Y | Y | |
| 引用分组表达式的 GROUP BY | Y | Y | Y | |
| HAVING 子句 | Y | Y | Y | |
| 使用 UNION 或 UNION ALL 的全查询 | Y | Y | Y | |
| 使用 INTERSECT 或 INTERSECT ALL 的全查询 | Y | Y | P | DB2 for i 不支持 INTERSECT ALL。 |
| 使用 EXCEPT 或 EXCEPT ALL 的全查询 | Y | Y | P | DB2 for i 不支持 EXCEPT ALL。 |
| 以普通表表达式开始的选择语句 | Y | Y | Y | |
| 使用递归普通表表达式的选择语句 | Y | Y | Y | |
| 基于限定列名的 ORDER BY 子句 | Y | Y | Y | |
| 基于排序键表达式的 ORDER BY 子句 | Y | Y | Y | |
| 基于不在 SELECT 列表中的表达式的 ORDER BY 子句 | Y | Y | Y | |
| ORDER BY ORDER OF | Y | Y | Y | |
| 带有列名列表的 FOR UPDfor 子句 | Y | Y | Y | |
| 带有隐式列列表的 FOR UPDATE 子句 | Y | Y | Y | |
| FOR READ ONLY 子句 | Y | Y | Y | |
| 使用整数行数的 OPTIMIZE 子句 | Y | Y | Y | |
| 使用带 CS、RR 或 RS 分离子句的选择语句 | Y | Y | Y | |
| 使用带只读选择语句上的 UR 的分离子句的选择语句 | Y | Y | Y | |
| FETCH FIRST 子句 | Y | Y | Y |
基本语句
| 语言元素 | LUW | z/OS | i | 说明 |
| 静态 CALL 语句 | Y | Y | Y | |
| 使用程序名的变量名的静态 CALL 语句 | Y | Y | Y | |
| 带有可选 WHERE、GROUP BY 或 HAVING 子句的 SELECT INTO 语句 | Y | Y | Y | |
| 带有 FETCH FIRST 子句的 SELECT INTO 语句 | Y | Y | Y | |
| 带有分离子句的 SELECT INTO 语句 | Y | Y | Y | |
| VALUES INTO 语句 | Y | Y | Y |
数据交换语句
| 语言元素 | LUW | z/OS | i | 说明 |
| 搜索的 DELETE 语句 | Y | Y | Y | |
| 使用一行 VALUES 子句的 INSERT 语句 | Y | Y | Y | |
| 使用子查询的 INSERT 语句 | Y | Y | Y | |
| 搜索的 UPDATE 语句 | Y | Y | Y |
面向游标的操作
| 语言元素 | LUW | z/OS | i | 说明 |
| CLOSE 语句 | Y | Y | Y | |
| DECLARE CURSOR 语句(参阅其他游标元素) | Y | Y | Y | |
| 声明 INSENSITIVE SCROLL 游标 | P | Y | Y | LUW 仅通过 CLI 或 JDBConly 支持这种特性。 |
| 声明 WITH HOLD 游标 | Y | Y | Y | |
| 声明 WITH RETURN 游标(隐式返回给调用程序) | Y | Y | Y | |
| 声明 WITH RETURN TO CALLER 游标 | Y | Y | Y | |
| 定位的 DELETE 语句 | Y | Y | Y | |
| 没有任何游标方向的 FETCH 语句(隐式 NEXT) | Y | Y | Y | |
| 使用 NEXT、PRIOR、FIRST、LAST、BEFORE、AFTER、CURRENT 或 RELATIVE 的 FETCH 语句 | P | Y | Y | LUW 仅通过 CLI 或 JDBConly 支持这些获取特性。 |
| 使用 ABSOLUTE 的 FETCH 语句 | P | Y | P | |
| OPEN 语句 | Y | Y | Y | |
| 定位的 UPDATE 语句 | Y | Y | Y |
连接和事务控制
| 语言元素 | LUW | z/OS | i | 说明 |
| 软件包级别的隔离级别规范(Isolation Level Specification) | Y | Y | Y | |
| 语句级别的隔离级别规范 | Y | Y | Y | |
| RR(SQL2003 标准中的 SERIALIZABLE) | Y | Y | Y | |
| RS(SQL2003 标准中的 REPEATABLE READ) | Y | Y | Y | |
| CS(SQL2003 标准中的 READ COMMITTED) | Y | Y | Y | |
| UR(SQL2003 核心标准中的 READ UNCOMMITTED) | Y | Y | Y | |
| 使用 USE AND KEEP EXCLUSIVE LOCKS 的分离子句 | P | P | Y | |
| COMMIT 语句 | Y | Y | Y | |
| CONNECT 语句(每个事务一个站点) | Y | Y | Y | |
| CONNECT 语句(每个事物两个以上的站点)(也称为作为两个阶段提交) | Y | Y | Y | |
| DISCONNECT 语句 | Y | Y | Y | |
| RELEASE 连接语句 | Y | Y | Y | |
| RELEASE SAVEPOINT 语句 | Y | Y | Y | |
| 工作语句的 ROLLBACK 单元 | Y | Y | Y | |
| ROLLBACK TO SAVEPOINT 语句 | Y | Y | Y | |
| SAVEPOINT 语句 —— 没有嵌套 | Y | Y | Y | |
| SAVEPOINT 语句 —— 嵌套的 | Y | Y | Y | |
| SET CONNECTION 语句 | Y | Y | Y |
动态设备
| 语言元素 | LUW | z/OS | i | 说明 |
| 没有 USING 子句的 DESCRIBE 输出语句 | Y | Y | Y | |
| DESCRIBE INPUT 语句 | Y | Y | Y | |
| EXECUTE 语句 | Y | Y | Y | |
| EXECUTE IMMEDIATE 语句 | Y | Y | Y | |
| PREPARE 语句 | Y | Y | Y | |
| 指定游标选项(ATTRIBUTES 子句)的 PREPARE 语句 | P | Y | Y | LUW 仅通过 CLI 或 JDBC 支持这项特性。 |
控制语句
| 语言元素 | LUW | z/OS | i | 说明 |
| SQL 过程中的控制语句 | Y | Y | Y | |
| SQL 函数中的控制语句 | P | P | Y | 部分支持允许 SQL 函数中出现一条单一的 RETURN 语句。 |
| 分配语句 | Y | Y | Y | |
| CASE 语句 | Y | Y | Y | |
| 符合语句 | Y | Y | Y | |
| 没有原子复合语句的嵌套 | Y | Y | Y | |
| FOR 语句 | Y | Y | Y | |
| GET DIAGNOSTICS for ROW_COUNT 语句 | Y | Y | Y | |
| GET DIAGNOSTICS for RETURN_STATUS 语句 | Y | Y | Y | |
| GET DIAGNOSTICS for MESSAGE_TEXT 语句 | Y | Y | Y | |
| GOTO 语句 | Y | Y | Y | |
| IF 语句 | Y | Y | Y | |
| ITERATE 语句 | Y | Y | Y | |
| LEAVE 语句 | Y | Y | Y | |
| LOOP 语句 | Y | Y | Y | |
| REPEAT 语句 | Y | Y | Y | |
| RESIGNAL 语句 | Y | Y | Y | |
| SQL 过程中的 RETURN 语句 | Y | Y | Y | |
| SQL 函数的中的 RETURN 语句 | Y | Y | Y | |
| SIGNAL 语句 | Y | Y | Y | |
| WHILE 语句 | Y | Y | Y |
数据定义
| 语言元素 | LUW | z/OS | i | 说明 |
| 允许 SQL 程序中出现 DDL 语句 | Y | Y | Y | |
| 支持 DDL 的事务语义 | Y | Y | Y | |
| 支持 18 个字节的对象名(模式名除外) | Y | Y | Y | 一些平台支持更长的对象名。 |
| 支持 10 个字节的模式名 | Y | Y | Y | 一些平台支持更长的模式名。 |
| ALTER 函数语句 | P | P | Y | |
| ALTER PROCEDURE 语句 | P | Y | Y | |
| ALTER SEQUENCE 语句 | Y | Y | Y | |
| ALTER TABLE 语句(参阅其他标记 ALTAB 的元素) | Y | P | Y | z/OS 不允许多次指定同一条子句。 |
| ALTER COLUMN(ALTAB) | P | P | Y | |
| COMMENT 语句 | Y | Y | Y | |
| CREATE ALIAS 语句 | Y | Y | Y | |
| CREATE DISTINCT TYPE 语句 | Y | Y | Y | |
| CREATE FUNCTION(外部标量)语句 | Y | Y | Y | |
| CREATE FUNCTION(源)语句 | Y | Y | Y | |
| CREATE function(SQL 标量)语句 | P | P | Y | 不是每个平台都支持一条语句的所有特性。 |
| CREATE FUNCTION(外部表)语句 | Y | Y | Y | |
| 基于列列表的 CREATE INDEX | Y | Y | Y | |
| 基于列列表的 CREATE UNIQUE INDEX | Y | Y | Y | |
| 外部过程的 CREATE PROCEDURE 语句 | Y | Y | Y | |
| SQL 过程的 CREATE PROCEDURE 语句 | Y | Y | Y | |
| CREATE SCHEMA | Y | P | Y | z/OS 需要一个特殊的模式处理器来处理这条语句。 |
| CREATE TABLE 语句使用列定义(参阅其他标记 CRTAB 的元素) | Y | Y | Y | |
| LIKE 其他表/视图的 CREATE TABLE语句(参阅其他标记 CRTAB 的元素) | Y | Y | Y | |
| LIKE 其他包含标识符的 CREATE TABLE 语句(参阅其他标记 CRTAB 的元素) | Y | Y | Y | |
| AS 查询的 CREATE TABLE 语句(参阅其他标记 CRTAB 的元素) | Y | Y | Y | |
| CHECK 约束子句(ALTAB、CRTAB) | Y | Y | Y | |
| DATA CAPTURE 子句(ALTAB、CRTAB) | Y | Y | P | DB2 for i 表总是捕捉更改 —— 不支持这条子句。 |
| 没有指定值(ALTAB、CRTAB、DGTTAB)的 DEFAULT 子句 | Y | Y | Y | |
| 有指定值(ALTAB、CRTAB、DGTTAB)的 DEFAULT 子句 | Y | Y | Y | |
| IMPLICITLY HIDDEN 子句(ALTAB、CRTAB) | Y | Y | Y | |
| VOLATILE 子句(ALTAB、CRTAB) | Y | Y | Y | |
| IDENTITY 子句(ALTAB、CRTAB、DGTTAB) | Y | Y | Y | |
| ROW CHANGE TIMESTAMP 子句(ALTAB、CRTAB) | Y | Y | Y | |
| PRIMARY KEY 约束子句(ALTAB、CRTAB) | Y | Y | Y | |
| UNIQUE 约束子句(ALTAB、CRTAB) | Y | Y | Y | |
| 针对独特常量的自动索引生成(ALTAB、CRTAB) | Y | Y | Y | |
| 引用的约束子句(ALTAB、CRTAB) | Y | Y | Y | |
| 指定 ON DELETE(ALTAB、CRTAB)的 REFERENCES 子句 | P | P | Y | LUW 不支持 ON DELETE SET DEFAULT。z/OS 不支持 ON DELETE SET DEFAULT。 |
| 不需要使用 ALTER TABLE 即可指定自引用表 | Y | P | Y | |
| 用户维护的 MQT(CRTAB、ALTAB) | Y | Y | Y | |
| CREATE SEQUENCE 语句 | Y | Y | Y | |
| CREATE TRIGGER 语句 —— 表上的 BEFORE 或 AFTER 触发器 | Y | Y | Y | |
| CREATE TRIGGER 语句 —— 视图上的 INSTEAD OF 触发器 | Y | P | Y | |
| 使用不带 CHECK OPTION 子句的 CREATE VIEW 语句 | Y | Y | Y | |
| CREATE VIEW WITH CASCADED CHECK OPTION | Y | Y | Y | |
| CREATE VIEW WITH LOCAL CHECK OPTION | Y | Y | Y | |
| DECLARE GLOBAL TEMPORARY TABLE 语句(参阅其他标记 DGTTAB 的元素) | P | Y | Y | |
| 指定了 RESTRICT 或 CASCADE 的 DROP 语句 | P | P | Y | |
| DROP ALIAS 语句 | Y | Y | Y | |
| DROP DISTINCT TYPE 语句 | Y | Y | Y | |
| DROP FUNCTION 语句 | Y | Y | Y | |
| DROP INDEX 语句 | Y | Y | Y | |
| DROP PACKAGE 语句 | Y | Y | Y | |
| DROP PROCEDURE 语句 | Y | P | Y | |
| DROP SEQUENCE 语句 | Y | Y | Y | |
| DROP TABLE 语句 | Y | Y | Y | |
| DROP TRIGGER 语句 | Y | Y | Y | |
| DROP VIEW 语句 | Y | Y | Y | |
| RENAME TABLE 语句 | P | P | Y |
授权
| 语言元素 | LUW | z/OS | i | 说明 |
| GRANT 函数或程序权限语句 | Y | Y | Y | |
| 没有 WITH GRANT OPTION 子句的 GRANT 程序包权限语句 | Y | Y | Y | |
| 有 WITH GRANT OPTION 子句的 GRANT 程序包授权语句 | Y | Y | Y | |
| GRANT 序列权限语句 | Y | Y | Y | |
| GRANT 表权限语句 | Y | Y | Y | |
| REVOKE 函数权限语句 | Y | Y | Y | |
| REVOKE 过程权限语句 | Y | P | Y | |
| REVOKE 程序包权限语句 | Y | Y | Y | |
| REVOKE 序列权限语句 | Y | Y | Y | |
| REVOKE 表权限语句 | Y | Y | Y |
杂项语句
| 语言元素 | LUW | z/OS | i | 说明 |
| BEGIN 和 END DECLARE SECTION 语句 | Y | Y | Y | |
| DECLARE STATEMENT 语句 | P | Y | Y | LUW 仅在 SQL 存储过程中支持这条语句。 |
| FREE LOCATOR 语句 | Y | Y | Y | |
| INCLUDE 语句 | Y | Y | Y | |
| LOCK TABLE 语句 | Y | Y | Y | |
| REFRESH TABLE 语句 | Y | Y | Y | |
| SET CURRENT DECFLOAT ROUNDING MODE 语句 | Y | Y | Y | |
| SET CURRENT DEGREE 语句 | P | Y | Y | |
| SET ENCRYPTION PASSWORD 语句 | Y | Y | Y | |
| SET PATH 语句 | Y | Y | Y | |
| SET SCHEMA 语句 | Y | Y | Y | |
| WHENEVER 语句 | Y | Y | Y |
宿主语言
| 语言元素 | LUW | z/OS | i | 说明 |
| C 或 C++ | Y | Y | Y | |
| COBOL | Y | Y | Y | |
| FORTRAN | Y | Y | Y | |
| Java(SQLJ) | Y | Y | Y | |
| PL/I | Y | Y | Y | |
| REXX | Y | Y | Y |
免责声明
这个不是一个完整的列表。挑选的特性以客户感兴趣的程度为依据。查看我们产品的详细 SQL 语言参考书可以找到更多常见的特性。
这个列表不是针对任何 DB2 产品的特性和函数列表。某一特性可能已经出现在某一平台上,或者即将出现在其他 DB2 平台上,因为我们一直在不停地发布新特性。因为客户与市场之间的差异,所以并不是所有平台都在同一时间提供相同的特性。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››应用程序的配置管理Poco
- ››移植Windows自宿主WCF服务到Linux/Mono2.8
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
赞助商链接
