SHOW <objects>¶
列出指定对象类型的现有对象。输出包括对象的元数据,包括:
通用属性(名称、创建时间戳、拥有角色、注释等)
特定于对象的属性
语法¶
SHOW <object_type_plural> [ LIKE '<pattern>' ] [ IN <scope_object_type> [ <scope_object_name> ] ]
有关具体语法、使用说明和示例,请参阅:
账户操作
会话/用户操作:
账户对象:
数据库对象:
类:
一般使用说明¶
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
中的表t1
和schema2
中的表t1
,并且两者都在您指定的数据库上下文的作用域内(即,您所选的数据库是schema1
和schema2
的父级),则 SHOW TABLES 只会显示其中一个t1
表。
以前缀
is_
开头的列返回Y
(yes) 或N
(no)。该命令不需要正在运行的仓库即可执行。
该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定;即使应用了筛选器,也不会返回任何超过 1 万条限制的记录。
要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。
若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。