ALTER FUNCTION (SQL)
更改用户定义的 SQL 函数。
语法
ALTER FUNCTION [[db-name.]schema.]function‑name( [arg‑list] ) {
OWNER TO new‑owner
| RENAME TO new‑name
| SET SCHEMA new‑schema
}
参数
-
[db-name.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。-
function‑name
- 要更改的 SQL 函数的名称。
- arg‑list
- 函数实参名称的逗号分隔列表。如果无列表,请指定一个空列表。
-
OWNER TO new‑owner
- 将函数所有权转移给其他用户。
-
RENAME TO new‑name
- 重命名此函数。
-
SET SCHEMA new‑schema
- 将函数移动到其他架构。
特权
非超级用户:对架构的 USAGE 权限,为以下之一:
-
函数所有者
-
对函数的 ALTER 权限
对于某些操作,非超级用户还必须具备以下架构权限:
示例
将函数 SQL_one
重命名为 SQL_two
:
=> ALTER FUNCTION SQL_one (int, int) RENAME TO SQL_two;
将函数 SQL_two
移动到架构 macros
:
=> ALTER FUNCTION SQL_two (int, int) SET SCHEMA macros;
重新分配 SQL_two
的所有权:
=> ALTER FUNCTION SQL_two (int, int) OWNER TO user1;