重要
此功能目前以公共预览版提供。
适用对象:
Databricks SQL
Databricks Runtime 11.3 LTS 及更高版本
仅 Unity Catalog
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;