ALTER FUNCTION (SQL)
Alters a user-defined SQL function.
Syntax
ALTER FUNCTION [[db-name.]schema.]function‑name( [arg‑list] ) { OWNER TO new‑owner | RENAME TO new‑name | SET SCHEMA new‑schema }
Parameters
[db-name.]schema |
Specifies a schema, by default myschema.thisDbObject If you specify a database, it must be the current database. |
function‑name |
The name of the SQL function to alter. |
arg‑list | A comma-delimited list of function argument names. If none, specify an empty list. |
OWNER TO new‑owner | Transfers function ownership to another user. |
RENAME TO new‑name |
Renames this function. |
SET SCHEMA new‑schema |
Moves the function to another schema. |
Privileges
Non-superuser: USAGE on the schema and one of the following:
- Function owner
- ALTER privilege on the function
For certain operations, non-superusers must also have the following schema privileges:
For these operations… | Schema privileges required… |
---|---|
RENAME TO (rename function) | CREATE, USAGE |
SET SCHEMA (move function to another schema) |
CREATE: destination schema |
Examples
Rename function SQL_one
to SQL_two
:
=> ALTER FUNCTION SQL_one (int, int) RENAME TO SQL_two;
Move function SQL_two
to schema macros
:
=> ALTER FUNCTION SQL_two (int, int) SET SCHEMA macros;
Reassign ownership of SQL_two
:
=> ALTER FUNCTION SQL_two (int, int) OWNER TO user1;