SHOW <objects>

列出指定对象类型的现有对象。输出包括对象的元数据,包括:

  • 通用属性(名称、创建时间戳、拥有角色、注释等)

  • 特定于对象的属性

另请参阅:

CREATE <object>DESCRIBE <object>

语法

SHOW <object_type_plural> [ LIKE '<pattern>' ] [ IN <scope_object_type> [ <scope_object_name> ] ]
Copy

有关具体语法、使用说明和示例,请参阅:

账户操作

会话/用户操作:

账户对象:

数据库对象:

类:

一般使用说明

  • SHOW 命令不需要正在运行的仓库即可执行。

  • SHOW 命令仅返回当前用户的当前角色已被授予必要访问权限的对象。例如:

    • SHOW DATABASES 输出包括用户角色对其具有 OWNERSHIP 或 USAGE 权限的数据库。

    • SHOW SCHEMAS 输出包括用户角色对其具有 OWNERSHIP 或 USAGE 权限的架构。

    • SHOW TABLES 输出包括用户角色对其具有任何权限的表。角色还必须对父数据库和架构具有 USAGE 权限。

    • MANAGE GRANTS 访问权限隐式允许其持有者查看账户中的每个对象。默认情况下,只有账户管理员(具有 ACCOUNTADMIN 角色的用户)和安全管理员(具有 SECURITYADMIN 角色的用户)才具有 MANAGE GRANTS 权限。

  • 大多数 SHOW 命令的输出可以使用以下子句控制:

    • 可选 LIKE 子句可用于按名称筛选返回的对象列表。

    • 数据库对象类型提供附加的可选 IN 子句,用于将命令的作用域设置为特定架构或数据库,或者整个账户。

    备注

    在数据库上下文中使用不带 IN 子句的 SHOW 命令,这样可能会导致结果低于预期。

    如果不使用 IN 子句,则具有相同名称的对象将仅显示一次。例如,如果您具有 schema1 中的表 t1schema2 中的表 t1,并且两者都在您指定的数据库上下文的作用域内(即,您所选的数据库是 schema1schema2 的父级),则 SHOW TABLES 只会显示其中一个 t1 表。

  • 以前缀 is_ 开头的列返回 Y (yes) 或 N (no)。

  • 该命令不需要正在运行的仓库即可执行。

  • 该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定;即使应用了筛选器,也不会返回任何超过 1 万条限制的记录。

    要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。

  • 若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。

语言: 中文