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 中可用的其他形式。