ROUTINE_COLUMNS

重要

此功能目前以公共预览版提供。

适用对象: Databricks SQL 勾选“是” Databricks Runtime 11.3 LTS 及更高版本 勾选“是” 仅 Unity Catalogcheck marked yes

INFORMATION_SCHEMA.ROUTINE_COLUMNS 会列出目录中表值函数的结果列。

返回的行仅限于用户有权与之交互的例程。

此关系是 SQL 标准信息架构的扩展。

定义

ROUTINE_COLUMNS 关系包含以下列:

名称 数据类型 可为 Null 说明
SPECIFIC_CATALOG STRING 否 包含例程的目录。
SPECIFIC_SCHEMA STRING 否 包含例程的数据库(架构)。
SPECIFIC_NAME STRING 否 例程架构唯一(指定)名称。
ORDINAL_POSITION INTEGER 否 结果列列表中列的位置(基于 1)。
COLUMN_NAME STRING 是 列的名称,如果未命名,则为 NULL。
DATA_TYPE STRING 否 参数数据类型名称。
FULL_DATA_TYPE STRING 否 参数数据类型定义,例如 'DECIMAL(10, 4)'。
CHARACTER_MAXIMUM_LENGTH INTEGER 是 始终为 NULL,保留以供将来使用。
CHARACTER_OCTET_LENGTH STRING 是 始终为 NULL,保留以供将来使用。
NUMERIC_PRECISION INTEGER 是 对于底数为 2 的整数类型、FLOAT 和 DOUBLE,支持的位数。 对于位数 DECIMAL,否则为 NULL。
NUMERIC_PRECISION_RADIX INTEGER 否 对于 DECIMAL,为 10;对于所有其他数字类型,为 2;否则为 NULL。
NUMERIC_SCALE INTEGER 是 对于整数类型 0,小数点右侧的位数 DECIMAL,否则为 NULL。
DATETIME_PRECISION INTEGER 是 对于 DATE,为 0;对于 TIMESTAMP 和 INTERVAL … SECOND,为 3;对于其他任何 INTERVAL,为 0;否则为 NULL。
INTERVAL_TYPE STRING 是 对于间隔的单位部分 INTERVAL(例如 'YEAR TO MONTH'),否则为 NULL。
INTERVAL_PRECISION INTERAL 是 始终为 NULL,保留以供将来使用。
MAXIMUM_CARDINALITY INTEGER 是 始终为 NULL,保留以供将来使用。
PARAMETER_DEFAULT STRING 是 始终为 NULL,保留以供将来使用。
COMMENT STRING 是 可选择的注释,用于描述结果列。

约束

以下约束适用于 ROUTINE_COLUMNS 关系:

类 名称 列列表 说明
主密钥 RTN_COLS_PK SPECIFIC_CATALOG,SPECIFIC_SCHEMA,SPECIFIC_NAME,ORDINAL_POSITION 唯一标识结果列。
外键 RTN_COLS_ROUTINES_FK SPECIFIC_CATALOG,SPECIFIC_SCHEMA,SPECIFIC_NAME 引用 ROUTINES

示例

> SELECT column_name, data_type
    FROM information_schema.routine_columns
    WHERE specific_schema = 'default'
      AND specific_name = 'foo'
    ORDER BY ordinal_position;