View a markdown version of this page

ALTER FUNCTION - Amazon Aurora DSQL

ALTER FUNCTION

ALTER FUNCTION 更改函数的定义。

支持的语法

ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] RENAME TO new_name ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] SET SCHEMA new_schema

说明

ALTER FUNCTION 更改现有函数的定义。

您必须拥有该函数的所有权才能使用 ALTER FUNCTION。要更改函数的架构,您还必须对新架构具有 CREATE 权限。要更改所有者,您必须是新的拥有角色的成员,并且该角色必须对函数的架构拥有 CREATE 权限。

RENAME TO

更改函数的名称。

OWNER TO

将表的所有者更改为指定的用户。

SET SCHEMA

将函数移到另一个架构中。

参数

name

要更改的现有函数的名称(可有选择地设为架构限定)。

argmode

参数的模式:IN、OUT、INOUT 或 VARIADIC。如果省略,则默认值为 IN。该函数仅使用输入参数进行标识,因此仅列出 IN、INOUT 和 VARIADIC 参数。

argname

参数的名称。

argtype

函数参数的数据类型。

new_name

函数的新名称。

new_owner

函数的新所有者。

new_schema

函数的新架构。

注意事项

要更改上面所列属性以外的其他属性,请使用 CREATE OR REPLACE FUNCTION。有关更多信息,请参阅 CREATE FUNCTION。

要添加、更改或删除函数注释,请使用单独的 COMMENT ON FUNCTION 命令。

示例

将函数 add(接受两个 integer 参数)重命名为 sum_two:

ALTER FUNCTION add(integer, integer) RENAME TO sum_two;

将函数 add 的所有者更改为当前用户:

ALTER FUNCTION add(integer, integer) OWNER TO CURRENT_USER;

将函数 add 移到架构 utils 中:

ALTER FUNCTION add(integer, integer) SET SCHEMA utils;

兼容性

Aurora DSQL 支持 PostgreSQL ALTER FUNCTION 语句的 RENAME TO、OWNER TO 和 SET SCHEMA 形式。不支持 PostgreSQL 中可用的其他形式。