SHOW SEMANTIC DIMENSIONS¶
列出您在 语义视图 中具有访问权限的维度。
您可以使用此命令列出会话的当前数据库和架构、指定的数据库或架构或整个账户中的对象。
输出包括每个对象的元数据和属性。对象按数据库、架构和对象名称以字典顺序排序(有关输出列的说明,请参阅本主题中的“输出”)。如果要筛选结果,请务必注意顺序。
- 另请参阅:
CREATE SEMANTIC VIEW、DESCRIBE SEMANTIC VIEW、DROP SEMANTIC VIEW、SHOW SEMANTIC VIEWS、SHOW SEMANTIC METRICS、SHOW SEMANTIC DIMENSIONS FOR METRIC
语法¶
SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
[ IN
{
<semantic_view_name> |
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
参数¶
LIKE 'pattern'
(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(
%
和_
)。例如,以下模式返回 相同的 结果:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. 默认:无值(不对输出应用筛选)。
[ IN ... ]
(可选)指定命令的作用域。指定以下任一项:
semantic_view_name
返回指定语义视图的记录。
ACCOUNT
返回整个账户的记录。
DATABASE
、.DATABASE db_name
返回当前正在使用的数据库或指定数据库 (
db_name
) 的记录。如果指定
DATABASE
而不指定db_name
,并且没有使用任何数据库,则关键字对输出没有影响。SCHEMA
、.SCHEMA database_name.schema_name
返回当前正在使用的架构或指定架构 (
database_name.schema_name
) 的记录。如果未使用任何数据库,则指定
SCHEMA
对输出没有影响。
默认:取决于会话当前是否正在使用数据库:
数据库:
DATABASE
是默认值(即该命令返回您有权在数据库中查看的对象)。无数据库:
ACCOUNT
是默认值(即该命令返回您有权在账户中查看的对象)。
STARTS WITH 'name_string'
(可选)根据对象名称开头显示的字符筛选命令输出。该字符串必须放在单引号内并且 区分大小写。
例如,以下字符串会返回 不同的 结果:
... STARTS WITH 'B' ...
... STARTS WITH 'b' ...
. 默认:无值(不对输出应用筛选)
LIMIT rows
(可选)限制返回的最大行数。返回的实际行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。
默认:无值(不对输出应用限制)。
输出¶
命令的输出包括以下列,它们描述了对象的属性和元数据:
列 |
描述 |
---|---|
|
包含该语义视图的数的名称。 |
|
包含该语义视图的架构的名称。 |
|
包含该维度的语义视图的名称。 |
|
维度的基表名称。 |
|
维度的名称。 |
|
维度的数据类型。 |
|
维度的别名或同义词。 |
|
关于该维度的备注。 |
访问控制要求¶
用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限:
权限 |
对象 |
备注 |
---|---|---|
任意 |
语义视图 |
要对架构中的任何对象执行操作,需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
该命令不需要正在运行的仓库即可执行。
该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。
MANAGE GRANTS 访问权限隐式允许其持有者查看账户中的每个对象。默认情况下,只有账户管理员(具有 ACCOUNTADMIN 角色的用户)和安全管理员(具有 SECURITYADMIN 角色的用户)才具有 MANAGE GRANTS 权限。
要对该命令的输出进行后处理,可以使用 管道运算符 或 RESULT_SCAN 函数。这两种构造都将输出视为可以查询的结果集。
该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定。即使应用了筛选器,也不会返回任何超出 1 万条限制后的记录。
要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。
LIMIT rows
的值不能超过10000
。如果省略LIMIT rows
,若结果集大于 1 万行,则该命令将导致错误。要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含
LIMIT rows
或查询相应的视图。
如果对当前角色对父数据库和模式至少拥有一项权限时,则对架构级对象执行命令仅返回一个对象。
示例¶
下面的示例列出了您对其拥有任意权限的语义视图的维度。该列表包括当前数据库当前模式中语义视图的维度。
SHOW SEMANTIC DIMENSIONS;
+---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------|
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_COUNTRY_CODE | VARCHAR(15) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_MARKET_SEGMENT | VARCHAR(10) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_NATION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_REGION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | NATION | NATION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | ["customer name"] | Name of the customer |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | Date when the order was placed |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_YEAR | NUMBER(4,0) | NULL | Year when the order was placed |
+---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------+
下面的示例列出了当前数据库当前架构中名为 tpch_rev_analysis
的语义视图的维度:
SHOW SEMANTIC DIMENSIONS IN tpch_rev_analysis;
+---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------|
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | ["customer name"] | Name of the customer |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | Date when the order was placed |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_YEAR | NUMBER(4,0) | NULL | Year when the order was placed |
+---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------+