ALTER FUNCTION(标量)
更改用户定义的标量函数。
语法
ALTER FUNCTION [[db-name.]schema.]function‑name( [ parameter‑list] ) {
OWNER TO new‑owner
| RENAME TO new‑name
| SET FENCED boolean‑expr
| SET SCHEMA new‑schema
}
-
[db-name.]schema
- 数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。 -
function‑name
- 要更改的函数的名称。
-
parameter‑list
- 为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
注意
Vertica 支持函数过载,并使用参数列表标识要更改的函数。 -
OWNER TO new‑owner
- 将函数所有权转移给其他用户。
-
RENAME TO new‑name
- 重命名此函数。
SET FENCED { true | false }
- 指定是否为此函数启用隔离模式。
-
SET SCHEMA new‑schema
- 将函数移动到其他架构。
权限
非超级用户:对架构的 USAGE 权限,为以下之一:
-
函数所有者
-
对函数的 ALTER 权限
对于某些操作,非超级用户还必须具备以下架构权限:
示例
将函数 UDF_one
重命名为 UDF_two
:
=> ALTER FUNCTION UDF_one (int, int) RENAME TO UDF_two;
将函数 UDF_two
移动到架构 macros
:
=> ALTER FUNCTION UDF_two (int, int) SET SCHEMA macros;
禁用函数 UDF_two
的隔离模式:
=> ALTER FUNCTION UDF_two (int, int) SET FENCED false;