- 类别:
系统函数 (控制)
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND¶
控制在指定的 SHOW <objects> 命令执行时应返回的列。
如果在 SHOW COMMAND 中新增列导致依赖结果中固定列数或列顺序的脚本或代码出现问题,您可以调用此函数。请参阅 处理 SHOW 命令输出和 Snowflake 视图中的新列。
- 另请参阅:
SYSTEM$GET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND、SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND、SYSTEM$GET_ALL_DEFAULT_COLUMNS_OVERRIDES
语法¶
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND(
'<object_type>',
'<list_of_columns>'
)
实参¶
'object_type'SHOW 命令的对象类型。例如,对于 SHOW TABLES 命令,请指定
'TABLES'。对于 SHOW NOTIFICATION INTEGRATIONS 命令,请指定'NOTIFICATION INTEGRATIONS'。list_of_columns应在 SHOW 命令的输出中返回的,以逗号分隔或空格分隔的列的列表。
您可以以大写、小写或混合大小写形式指定列名。
要返回所有列,请指定空字符串或调用 SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND。
返回¶
如果操作成功,返回 TRUE。
访问控制要求¶
只有账户管理员(被授予 ACCOUNTADMIN 角色的用户)可以调用此函数。
示例¶
以下示例会配置 SHOW TABLES 命令,以仅返回 name、database_name、kind 和 comment 列:
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND(
'TABLES',
'name, database_name, kind, comment'
);
执行 SHOW TABLES 命令仅返回指定的列:
SHOW TABLES;
+------------------+---------------+-------+---------+
| name | database_name | kind | comment |
|------------------+---------------+-------+---------|
| DEPARTMENT_TABLE | MY_DB | TABLE | |
| EMPLOYEE_TABLE | MY_DB | TABLE | |
+------------------+---------------+-------+---------+
执行 SHOW TERSE TABLES 命令仅返回指定的列,但 comment 除外,当您指定 TERSE 时,通常不会返回该列:
SHOW TERSE TABLES;
+------------------+-------+---------------+
| name | kind | database_name |
|------------------+-------+---------------|
| DEPARTMENT_TABLE | TABLE | MY_DB |
| EMPLOYEE_TABLE | TABLE | MY_DB |
+------------------+-------+---------------+