ALTER FUNCTION (DMF)

修改现有数据指标函数的属性 (DMF)。

要对 DMF 进行任何其他更改,必须使用 DROP FUNCTION 命令删除该函数,然后重新创建 DMF。

另请参阅:

DMF 命令参考

语法

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  RENAME TO <new_name>

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  SET SECURE

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  UNSET SECURE

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  SET COMMENT = '<string_literal>'

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  UNSET COMMENT

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER FUNCTION [ IF EXISTS ] <name> ( TABLE ( <col_data_type> [ , ... ] ) )
  UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

参数

name

指定要更改的 DMF 标识符。

如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

TABLE( col_data_type [ , ... ] )

指定 DMF 的实参(列)的数据类型。实参类型是必要的,因为 DMFs 支持名称重载,其中位于同一架构中的两个 DMFs 可以具有相同的名称。实参数据类型用于识别您要更改的 DMF。

RENAME TO new_name

为 DMF 指定新标识符;标识符和现有实参数据类型的组合对于架构必须是唯一的。

有关更多信息,请参阅 标识符要求

备注

为 UDF 指定新名称时,不要指定实参数据类型或括号,只能指定新名称。

可以将对象移动到其他数据库和/或架构,同时选择重命名对象。为此,请指定一个限定 new_name 值,该值分别以 db_name.schema_name.object_nameschema_name.object_name 的形式包含新数据库和/或架构名称。

备注

  • 目标数据库和/或架构必须已存在。此外,新位置中不能存在同名对象;否则,该语句将返回错误。

  • 除非 对象所有者(即拥有对象 OWNERSHIP 权限的角色)也拥有目标架构,否则禁止将对象移动到托管访问架构。

重命名对象时,引用该对象的其他对象必须使用新名称进行更新。

SET ...

指定要为 DMF 设置的属性:

SECURE

指定函数是否安全。有关更多信息,请参阅 使用安全 UDFs 和存储过程保护敏感信息

COMMENT = 'string_literal'

添加注释或覆盖函数的现有注释。指定的值将显示在 SHOW FUNCTIONSSHOW USER FUNCTIONS 输出中的 DESCRIPTION 列。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

UNSET ...

指定要为函数取消设置的属性,这会将其重置为默认值。

  • SECURE

  • COMMENT

  • TAG tag_name [ , tag_name ... ]

访问控制要求

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

权限

对象

备注

OWNERSHIP

数据指标函数

APPLY

标签

允许对 DMF 设置标签。

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

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

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

使用说明

  • 如果要更新现有的数据指标函数,并需要查看函数的当前定义,请运行 DESCRIBE FUNCTION (DMF) 命令或调用 GET_DDL 函数。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

将 DMF 设置为安全的 DMF:

ALTER FUNCTION governance.dmfs.count_positive_numbers(
 TABLE(
   NUMBER,
   NUMBER,
   NUMBER
))
SET SECURE;
Copy
语言: 中文