类别:

Information Schema表函数

DATA_METRIC_FUNCTION_REFERENCES

为每个获分配指定数据指标函数的对象返回一行,或者 为分配给指定对象的每个数据指标函数返回一行。

另请参阅:

:doc:`/sql-reference/account-usage/data_metric_function_references`(Account Usage 视图)

语法

DATA_METRIC_FUNCTION_REFERENCES(
  METRIC_NAME => '<string>' )

DATA_METRIC_FUNCTION_REFERENCES(
  REF_ENTITY_NAME => '<string>' ,
  REF_ENTITY_DOMAIN => '<string>'
  )
Copy

实参

METRIC_NAME => 'string'

指定数据指标函数的名称。

  • 整个数据指标名称必须放在单引号内。

  • 如果数据指标名称区分大小写或包含任何特殊字符或空格,则需要双引号来处理大小写/字符。双引号必须放在单引号内,即 '"<metric_name>"'

REF_ENTITY_NAME => 'string'

添加了数据指标函数的对象的名称(即 table_name、view_name、external_table_name、username)。

  • 整个对象名称必须放在单引号内。

  • 如果对象名称区分大小写或包含任何特殊字符或空格,则需要使用双引号来处理大小写/字符。双引号必须放在单引号内,即 '"<table_name>"'

REF_ENTITY_DOMAIN => 'string'

添加了数据指标函数的对象的类型(即表、视图)。

如果对象是外部表,则使用 'table' 作为实参。

返回

该函数返回以下列:

数据类型

描述

metric_database_name

VARCHAR

存储数据指标函数的数据库。

metric_schema_name

VARCHAR

存储数据指标函数的架构。

metric_name

VARCHAR

数据指标函数的名称。

argument_signature

VARCHAR

指标实参的类型签名。

data_type

VARCHAR

数据指标函数的返回数据类型。

ref_database_name

VARCHAR

数据库名称,包含添加了数据指标函数的对象。

ref_schema_name

VARCHAR

架构名称,包含添加了数据指标函数的对象。

ref_entity_name

VARCHAR

设置了数据指标函数的表或视图的名称。

ref_entity_domain

VARCHAR

设置了数据指标函数的对象类型(表、视图)。

ref_arguments

ARRAY

标识用于评估规则的参考实参。

ref_id

VARCHAR

数据指标函数与表或视图关联的唯一标识符。

schedule

VARCHAR

在表或视图上运行数据指标函数的计划。

schedule_status

VARCHAR

指标关联的状态。以下其中一项:

STARTED

计划运行的表或视图的数据指标关联。

SUSPENDED

表或视图上的数据指标关联未计划运行。当调用函数的角色 没有 表的 OWNERSHIP 权限时,也会出现此值。

查询 Account Usage 视图时,默认情况下可以看到以下值;但是,调用表函数时,必须使用对表拥有 OWNERSHIP 权限的角色才能看到这些值:

SUSPENDED_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

以下其中一项:

  • 表已删除。

  • 包含表的架构或数据库已删除

  • 表所有者角色无法解析包含该表的架构或数据库。

    “已解决”表示调用该函数的角色未拥有包含该表的架构或数据库的相应权限。

SUSPENDED_DATA_METRIC_FUNCTION_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

以下其中一项:

  • DMF 已删除。

  • 包含 DMF 的架构或数据库已删除。

  • 表所有者角色无法解析包含 DMF 的架构或数据库。

SUSPENDED_TABLE_COLUMN_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

以下其中一项:

  • 目标表列已删除。

  • 包含该列的架构或数据库已删除。

  • 表所有者角色无法解析包含该列的架构或数据库。

SUSPENDED_INSUFFICIENT_PRIVILEGE_TO_EXECUTE_DATA_METRIC_FUNCTION

表所有者角色没有 EXECUTE DATA METRIC FUNCTION 权限。

SUSPENDED_ACTIVE_EVENT_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

未在账户级别设置事件表。


根据授予执行查询的角色的权限返回结果:

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

  • 数据指标函数的任何受支持权限。

    • 对于系统 DMFs,该角色可获授 DATA_METRIC_USER 数据库角色。

  • 表或视图的 SELECT 权限。

使用说明

  • 当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数必须使用完全限定的对象名称。有关更多详细信息,请参阅 Snowflake Information Schema

  • 选择一种语法变体来执行查询。混合实参会导致错误和查询失败。

    REF_ENTITY_NAMEREF_ENTITY_DOMAIN 的实参值必须包含在一起,否则查询失败。

  • 如果指定的对象名称不存在,或者查询操作员未被授权查看对象上的任何数据指标函数,Snowflake 将返回错误。如果允许操作员查看数据指标关联的子集,Snowflake 可以返回数据指标关联的结果集。

  • 不支持的对象类型被列作 REF_ENTITY_DOMAIN`(如 `'stream'``),则返回错误。

示例

为每个在该表或视图上设置了名为 count_positive_numbers 的 DMF 的对象(表或视图)返回一行:

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      METRIC_NAME => 'governance.dmfs.count_positive_numbers'
    )
  );
Copy

为分配给名为 hr.tables.empl_info 的表的每个 DMF 返回一行:

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      REF_ENTITY_NAME => 'hr.tables.empl_info',
      REF_ENTITY_DOMAIN => 'table'
    )
  );
Copy
语言: 中文