Who Can Alter a Function
The ALTER FUNCTION
statement can be executed by:
-
Owner of the stored function
-
Users with the
ALTER ANY FUNCTION
privilege
The ALTER FUNCTION
statement can be executed by:
Owner of the stored function
Users with the ALTER ANY FUNCTION
privilege
ALTER FUNCTION
ALTER FUNCTION ADD_INT(A INT, B INT, C INT)
RETURNS INT
AS
BEGIN
RETURN A + B + C;
END
CREATE OR ALTER FUNCTION
Creates a stored function if it does not exist, or alters a stored function
DSQL
CREATE OR ALTER FUNCTION funcname
[ ( [ <in_params> ] ) ]
RETURNS <domain_or_non_array_type> [COLLATE collation]
[DETERMINISTIC]
{<psql_function> | <external-module-body>}
!! See syntax of CREATE FUNCTION
for further rules !!
The CREATE OR ALTER FUNCTION
statement creates a new stored function or alters an existing one.If the stored function does not exist, it will be created by invoking a CREATE FUNCTION
statement transparently.If the function already exists, it will be altered and compiled (through ALTER FUNCTION
) without affecting its existing privileges and dependencies.
CREATE OR ALTER FUNCTION
CREATE OR ALTER FUNCTION ADD_INT(A INT, B INT DEFAULT 0) RETURNS INT AS BEGIN RETURN A + B; END
DROP FUNCTION
Drops a stored function
DSQL
DROP FUNCTION funcname
Parameter | Description |
---|---|
funcname |
Stored function name.The maximum length is 63 characters.Must be unique among all function names in the database. |
The DROP FUNCTION
statement deletes an existing stored function.If the stored function has any dependencies, the attempt to delete it will fail, and raise an error.
The DROP FUNCTION
statement can be executed by:
Owner of the stored function
Users with the DROP ANY FUNCTION
privilege
DROP FUNCTION
DROP FUNCTION ADD_INT;
RECREATE FUNCTION
Drops a stored function if it exists, and creates a stored function
DSQL
RECREATE FUNCTION funcname
[ ( [ <in_params> ] ) ]
RETURNS <domain_or_non_array_type> [COLLATE collation]
[DETERMINISTIC]
{<psql_function> | <external-module-body>}
!! See syntax of CREATE FUNCTION
for further rules !!
The RECREATE FUNCTION
statement creates a new stored function or recreates an existing one.If there is a function with this name already, the engine will try to drop it and then create a new one.Recreating an existing function will fail at COMMIT
if the function has dependencies.
Note
|
Be aware that dependency errors are not detected until the |
After a procedure is successfully recreated, existing privileges to execute the stored function and theprivileges of the stored function itself are dropped.
RECREATE FUNCTION
RECREATE FUNCTION ADD_INT(A INT, B INT DEFAULT 0)
RETURNS INT
AS
BEGIN
RETURN A + B;
EN