类别:

系统函数 (控制)

SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND

控制在指定的 SHOW <objects> 命令执行时应返回的列。

如果在 SHOW COMMAND 中新增列导致依赖结果中固定列数或列顺序的脚本或代码出现问题,您可以调用此函数。请参阅 处理 SHOW 命令输出和 Snowflake 视图中的新列

另请参阅:

SYSTEM$GET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMANDSYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMANDSYSTEM$GET_ALL_DEFAULT_COLUMNS_OVERRIDES

语法

SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND(
  '<object_type>',
  '<list_of_columns>'
)
Copy

实参

'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 命令,以仅返回 namedatabase_namekindcomment 列:

SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SHOW_COMMAND(
  'TABLES',
  'name, database_name, kind, comment'
);
Copy

执行 SHOW TABLES 命令仅返回指定的列:

SHOW TABLES;
Copy
+------------------+---------------+-------+---------+
| name             | database_name | kind  | comment |
|------------------+---------------+-------+---------|
| DEPARTMENT_TABLE | MY_DB         | TABLE |         |
| EMPLOYEE_TABLE   | MY_DB         | TABLE |         |
+------------------+---------------+-------+---------+

执行 SHOW TERSE TABLES 命令仅返回指定的列,但 comment 除外,当您指定 TERSE 时,通常不会返回该列:

SHOW TERSE TABLES;
Copy
+------------------+-------+---------------+
| name             | kind  | database_name |
|------------------+-------+---------------|
| DEPARTMENT_TABLE | TABLE | MY_DB         |
| EMPLOYEE_TABLE   | TABLE | MY_DB         |
+------------------+-------+---------------+