SQL 参考

EXPLAIN_DIAGNOSTIC:新的说明表

对于因为 EXPLAIN_STATEMENT 表中的说明语句的特定实例而产生的每一条诊断消息,EXPLAIN_DIAGNOSTIC 表都包含一个条目。

EXPLAIN_GET_MSGS 表函数查询 EXPLAIN_DIAGNOSTIC 和 EXPLAIN_DIAGNOSTIC_DATA 说明表并返回格式化消息。

表 39. EXPLAIN_DIAGNOSTIC 表
列名 数据类型 可空 1 描述
EXPLAIN_REQUESTER VARCHAR(128) PK 和 FK 此说明请求的发起方的授权标识。
EXPLAIN_TIME TIMESTAMP PK 和 FK 说明请求的发起时间。
SOURCE_NAME VARCHAR(128) PK 和 FK 说明动态语句时运行的程序包的名称,或者说明静态 SQL 时源文件的名称。
SOURCE_SCHEMA VARCHAR(128) PK 和 FK 说明请求的来源的模式或限定符。
SOURCE_VERSION VARCHAR(64) PK 和 FK 说明请求的来源的版本。
EXPLAIN_LEVEL CHAR(1) PK 和 FK 与此行相关联的说明信息的级别。

有效值包括:

  • O:原始文本(由用户输入)
  • P:PLAN SELECTION
STMTNO INTEGER PK 和 FK 程序包中与此说明信息相关联的语句号。对于动态说明 SQL 语句设置为 1。对于静态 SQL 语句,此值与用于 SYSCAT.STATEMENTS 目录视图的值相同。
SECTNO INTEGER PK 和 FK 程序包中包含此 SQL 语句的节号。对于动态说明 SQL 语句,这是在运行时用于包含此语句的该节的节号。对于静态 SQL 语句,此值与用于 SYSCAT.STATEMENTS 目录视图的值相同。
DIAGNOSTIC_ID INTEGER PK EXPLAIN_STATEMENT 表中的语句的特定实例的诊断标识。
CODE INTEGER 指定给每条诊断消息的唯一编号。消息 API 可使用该编号来检索诊断消息的完整文本。

  1. PK 表示该列是主键的一部分;FK 表示该列是外键的一部分。

EXPLAIN_DIAGNOSTIC_DATA:新的说明表

EXPLAIN_DIAGNOSTIC_DATA 表包含 EXPLAIN_DIAGNOSTIC 表中记录的特定诊断消息的消息标记。消息标记提供特定于生成该消息的 SQL 语句的执行的其它信息。

EXPLAIN_GET_MSGS 表函数查询 EXPLAIN_DIAGNOSTIC 和 EXPLAIN_DIAGNOSTIC_DATA 说明表并返回格式化消息。

表 40. EXPLAIN_DIAGNOSTIC_DATA 表
列名 数据类型 可空 1 描述
EXPLAIN_REQUESTER VARCHAR(128) FK 此说明请求的发起方的授权标识。
EXPLAIN_TIME TIMESTAMP FK 说明请求的发起时间。
SOURCE_NAME VARCHAR(128) FK 说明动态语句时运行的程序包的名称,或者说明静态 SQL 时源文件的名称。
SOURCE_SCHEMA VARCHAR(128) FK 说明请求的来源的模式或限定符。
SOURCE_VERSION VARCHAR(64) FK 说明请求的来源的版本。
EXPLAIN_LEVEL CHAR(1) FK 与此行相关联的说明信息的级别。

有效值包括:

  • O:原始文本(由用户输入)
  • P:PLAN SELECTION
STMTNO INTEGER FK 程序包中与此说明信息相关联的语句号。对于动态说明 SQL 语句设置为 1。对于静态 SQL 语句,此值与用于 SYSCAT.STATEMENTS 目录视图的值相同。
SECTNO INTEGER FK 程序包中包含此 SQL 语句的节号。对于动态说明 SQL 语句,这是在运行时用于包含此语句的该节的节号。对于静态 SQL 语句,此值与用于 SYSCAT.STATEMENTS 目录视图的值相同。
DIAGNOSTIC_ID INTEGER PK EXPLAIN_STATEMENT 表中的语句的特定实例的诊断标识。
ORDINAL INTEGER 完整消息正文中的标记位置。
TOKEN VARCHAR(1000) 要插入到完整消息正文中的消息标记;可能会被截断。
TOKEN_LONG BLOB(3M) 其它详细信息(如果有的话)。

  1. PK 表示该列是主键的一部分;FK 表示该列是外键的一部分。

说明设施使用的模式

说明设施在限定要填充的说明表时使用下列标识作为模式:

该模式可能与一组说明表或指向另一模式下的一组说明表的别名相关联。

如果在该模式下找不到任何说明表,说明设施将检查 SYSTOOLS 模式下的说明表并尝试使用这些表。

日期时间值的字符串表示法

时间字符串

时间的字符串表示法是以数字开头的字符串,长度至少为 4 个字符。可包括结尾空格;可忽略时间的小时部分中的前导零,而秒数可以全部忽略。如果秒数被忽略,将采用 0 秒隐式规范。因此,13:30 相当于 13:30:00。

时间的有效字符串格式列在下表中。每个格式是由名称和相关联的缩写标识的。

表 41. 时间的字符串表示法的格式
格式名 缩写 时间格式 示例
国际标准组织 ISO hh.mm.ss 13.30.05
IBM(R) 美国标准 USA hh:mm AM 或 PM 1:30 PM
IBM 欧洲标准 EUR hh.mm.ss 13.30.05
日本工业标准公元 JIS hh:mm:ss 13:30:05
站点定义 LOC 取决于应用程序的地域代码 -

从版本 8.2 开始,“AM”和“PM”可以小写或大写表示。

[ 页的顶部 |上一页 | 下一页 | 目录 ]