SHOW SCHEMAS

列出您具有访问权限的架构,包括已删除的架构,这些架构仍在 Time Travel 保留期内,因此可以取消删除。该命令可用于列出当前/指定数据库的架构,或整个账户的架构。

相应输出会返回架构元数据和属性,根据数据库和架构名称按字典顺序排序。如果您希望使用提供的筛选器筛选结果,请务必注意这一点。

另请参阅:

CREATE SCHEMAALTER SCHEMADESCRIBE SCHEMADROP SCHEMAUNDROP SCHEMA

SCHEMATA 视图 (Information Schema)

语法

SHOW [ TERSE ] SCHEMAS
  [ HISTORY ]
  [ LIKE '<pattern>' ]
  [ IN { ACCOUNT | DATABASE [ <db_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> } ]
  [ STARTS WITH '<name_string>' ]
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
  [ WITH PRIVILEGES <object_privilege> [ , <object_privilege> [ , ... ] ] ]
Copy

参数

TERSE

返回仅包含以下列的输出:

  • created_on

  • name

  • kind

  • database_name

  • schema_name

请注意,由于 kind 不适用于架构,并且 schema_namename 存在重复,因此 kindschema_name 始终显示 NULL

默认:无值(所有列都包含在输出中)

HISTORY

包括尚未清除的已删除架构(即它们仍在各自的 Time Travel 保留期内)。如果已删除架构存在多个版本,则输出将为每个版本显示一行。输出还包括其他 dropped_on 列,其中显示:

  • 日期和时间戳(对于已删除的架构)

  • NULL (对于处于活动状态的架构)。

默认值:无值(输出中 包括已删除的架构)

LIKE 'pattern'

(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(%_)。

例如,以下模式返回 相同的 结果:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 默认:无值(不对输出应用筛选)。

IN { ACCOUNT | [ DATABASE ] [ db_name ] | APPLICATION application_name | APPLICATION PACKAGE application_package_name  }

指定命令的作用域,该作用域决定该命令是仅列出当前/指定数据库的记录,还是列出整个账户的记录。

APPLICATIONAPPLICATION PACKAGE 关键字不是必需的,但它们指定了已命名 Snowflake Native App 的范围。

DATABASE 关键字并非必需,可以通过仅指定数据库名称来设置作用域。同样,如果会话当前正在使用某个数据库,则数据库名称也不是必需的。

默认:取决于会话当前是否正在使用数据库:

  • 数据库:DATABASE 是默认值(即该命令返回您有权在数据库中查看的对象)。

  • 无数据库:ACCOUNT 是默认值(即该命令返回您有权在账户中查看的对象)。

STARTS WITH 'name_string'

(可选)根据对象名称开头显示的字符筛选命令输出。该字符串必须放在单引号内并且 区分大小写

例如,以下字符串会返回 不同的 结果:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. 默认:无值(不对输出应用筛选)

LIMIT rows [ FROM 'name_string' ]

(可选)限制返回的最大行数,同时还对结果启用“分页”功能。返回的实际行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。

可选的 FROM 'name_string' 分子句实际上会充当结果的“游标”。这样就可以提取对象名称与指定字符串匹配的第一行之后的指定行数:

  • 该字符串必须放在单引号内并且 区分大小写

  • 该字符串不必包含完整的对象名称;支持部分名称。

默认:无值(不对输出应用限制)

备注

对于支持 FROM 'name_string'STARTS WITH 'name_string' 的 SHOW 子句,您可以将这两个子句组合在同一语句中。但是,两个条件都必须满足,否则它们相互抵消,不返回任何结果。

此外,对象按名称的字典顺序返回,因此 FROM 'name_string' 仅返回字典值高于 STARTS WITH 'name_string' 所返回行的行。

例如:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' 不会返回任何结果。

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' 不会返回任何结果。

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' 将返回结果(如果有任何行与输入字符串匹配)。

WITH PRIVILEGES object_privilege [ , object_privilege [ , ... ] ]

可选地将行限制为以下对象:其当前用户的 活动角色 已被授予对该对象的列表中的所有指定权限。

如果权限列表中包含 CREATE <object> 权限,则该命令将排除已授予次要角色权限的对象。这是因为只有主要角色有权创建对象。有关更多信息,请参阅 通过主要角色和次要角色进行授权

OBJECT_VISIBILITY

This property controls the discoverability of the objects in the account, enabling users without explicit access privileges to find objects and request access.

使用说明

  • 当您将范围指定为 APPLICATION 或名为 SNOWFLAKE 的数据库时,owner 列返回 SNOWFLAKE 作为名为 LOCAL 的架构的所有者。例如:

    SHOW SCHEMAS IN APPLICATION my_app;
    SHOW SCHEMAS IN DATABASE SNOWFLAKE;
    
    Copy

    owner 列返回:

    +-----+-------+-----+-----------+-----+
    | ... | name  | ... | owner     | ... |
    +-----+-------+-----+-----------+-----+
    | ... | LOCAL | ... | SNOWFLAKE | ... |
    +-----+-------+-----+-----------+-----+
    
  • 该命令不需要正在运行的仓库即可执行。

  • 该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。

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

  • To post-process the output of this command, you can use the pipe operator (->>) or the RESULT_SCAN function. Both constructs treat the output as a result set that you can query.

    The output column names for this command are generated in lowercase. If you consume a result set from this command with the pipe operator or the RESULT_SCAN function, use double-quoted identifiers for the column names in the query to ensure that they match the column names in the output that was scanned. For example, if the name of an output column is type, then specify "type" for the identifier.

  • LIMIT rows 的值不能超过 10000。如果省略 LIMIT rows,若结果集大于 1 万行,则该命令将导致错误。

    要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含 LIMIT rows 或查询相应的视图。

  • HISTORYWITH PRIVILEGES 参数是互斥的,它们不能在同一语句中使用。

示例

显示当前数据库 mytestdb 中您有权查看的所有架构:

SHOW SCHEMAS;
Copy
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+-------------------+
| created_on                      | name               | is_default | is_current | database_name | owner  | comment                                                   | options | retention_time | owner_role_type | object_visibility |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+-------------------+
| Fri, 13 May 2016 17:58:37 -0700 | INFORMATION_SCHEMA | N          | N          | MYTESTDB      |        | Views describing the contents of schemas in this database |         |              1 | ROLE            | NULL              |
| Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC             | N          | Y          | MYTESTDB      | PUBLIC |                                                           |         |              1 | ROLE            | NULL              |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+-------------------+

显示当前数据库 mytestdb 中您有权查看的所有架构,包括已删除的架构(此示例基于 DROP SCHEMA 示例构建):

SHOW SCHEMAS HISTORY;
Copy
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+-------------------+
| created_on                      | name               | is_default | is_current | database_name | owner  | comment                                                   | options | retention_time | dropped_on                      | owner_role_type | object_visibility |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+-------------------+
| Fri, 13 May 2016 17:59:50 -0700 | INFORMATION_SCHEMA | N          | N          | MYTESTDB      |        | Views describing the contents of schemas in this database |         |              1 | NULL                            |                 | NULL              |
| Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC             | N          | Y          | MYTESTDB      | PUBLIC |                                                           |         |              1 | NULL                            | ROLE            | NULL              |
| Tue, 17 Mar 2015 16:42:29 -0700 | MYSCHEMA           | N          | N          | MYTESTDB      | PUBLIC |                                                           |         |              1 | Fri, 13 May 2016 17:25:32 -0700 | ROLE            | NULL              |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+-------------------+

显示当前数据库(您已被授予该数据库的 USAGE 权限)中的所有架构:

SHOW SCHEMAS WITH PRIVILEGES USAGE;
Copy
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+
| created_on                    | name           | is_default | is_current | database_name                                             | owner        | comment | options | retention_time | owner_role_type | object_visibility |
|-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+
| 2023-01-27 15:01:12.940 -0800 | PUBLIC         | N          | N          | BOOKS_DB                                                  | DATA_ADMIN   |         |         | 1              | ROLE            | NULL              |
| 2023-09-15 15:22:51.164 -0700 | PUBLIC         | N          | N          | TEST_DB                                                   | ACCOUNTADMIN |         |         | 4              | ROLE            | NULL              |
| 2023-01-13 10:58:49.584 -0800 | ACCOUNT_USAGE  | N          | N          | SNOWFLAKE                                                 |              |         |         | 1              |                 | NULL              |
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+
语言: 中文