SHOW EXPERIMENTS

列出您具有访问权限的 实验

您可以使用此命令列出会话的当前数据库和架构、指定的数据库或架构或整个账户中的对象。

输出包括每个对象的元数据和属性。对象按数据库、架构和对象名称以字典顺序排序(有关输出列的说明,请参阅本主题中的“输出”)。如果要筛选结果,请务必注意结果中的行顺序。

另请参阅:

CREATE EXPERIMENTALTER EXPERIMENTSHOW RUNS IN EXPERIMENTDROP EXPERIMENTSHOW RUN ... IN EXPERIMENT

语法

SHOW EXPERIMENTS [ LIKE '<pattern>' ]
           [ IN
                {
                  ACCOUNT                      |
                  DATABASE [ <database_name> ] |
                  SCHEMA [ <schema_name> ]
                }
           ]
Copy

参数

LIKE 'pattern'

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

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

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

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

[ IN ... ]

(可选)指定命令的作用域。指定以下任一项:

ACCOUNT

返回整个账户的记录。

DATABASE. DATABASE db_name

返回当前正在使用的数据库或指定数据库 (db_name) 的记录。

如果指定 DATABASE 而不指定 db_name,并且没有使用任何数据库,则关键字对输出没有影响。

备注

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

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

SCHEMA. SCHEMA schema_name

返回当前正在使用的架构或指定架构 (schema_name) 的记录。

如果数据库正在使用中,或者指定了完全限定 schema_name (例如 db.schema),则 SCHEMA 是可选选项。

如果未使用任何数据库,则指定 SCHEMA 对输出没有影响。

如果您省略 IN ...,则命令的作用范围取决于会话当前是否正在使用数据库:

  • 如果当前正在使用某个数据库,该命令将返回您有权在该数据库中查看的对象。此效果与指定 IN DATABASE 相同。

  • 如果当前未使用任何数据库,该命令将返回您有权在账户中查看的对象。此效果与指定 IN ACCOUNT 相同。

输出

命令的输出包括以下列,它们描述了对象的属性和元数据:

描述

created_on

实验的创建日期和时间。

name

实验的标识符。

database_name

存储实验的数据库。

schema_name

存储实验的架构。

owner

拥有实验的角色。

runs

实验中包含运行名称的 JSON 数组。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

USAGE

架构

要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

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

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

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

  • 要对该命令的输出进行后处理,可以使用 管道运算符 (->>) 或 RESULT_SCAN 函数。这两种构造都将输出视为可以查询的结果集。

    例如,您可使用管道操作符或 RESULT_SCAN 函数,从 SHOW 命令输出中选择特定列或筛选行数据。

    引用输出列时,为列名使用 双引号标识符。例如,选择输出列 type,指定 SELECT "type"

    必须使用双引号标识符,因为 SHOW 命令的输出列名均为小写格式。双引号确保 SELECT 列表或 WHERE 子句中的列名,与已扫描的 SHOW 命令输出中的列名完全匹配。

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

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

  • 如果对当前角色对父数据库和模式至少拥有一项权限时,则对架构级对象执行命令仅返回一个对象。

语言: 中文