Use this statement to modify a function. You must include the entire new function in the ALTER FUNCTION statement.
ALTER FUNCTION [ owner.]function-name function-definition
function-definition : CREATE FUNCTION syntax
ALTER FUNCTION [ owner.]function-name SET HIDDEN
ALTER FUNCTION [ owner.]function-name RECOMPILE
Syntax 1 The ALTER FUNCTION statement is identical in syntax to the CREATE FUNCTION statement except for the first word. Either version of the CREATE FUNCTION statement can be altered.
Existing permissions on the function are maintained, and do not have to be reassigned. If a DROP FUNCTION and CREATE FUNCTION were carried out, execute permissions would have to be reassigned.
Syntax 2 Use SET HIDDEN to obfuscates the definition of the associated function and cause it to become unreadable. The function can be unloaded and reloaded into other databases.
This setting is irreversible. If you will need the original source again, you must maintain it outside the database.
If SET HIDDEN is used, debugging using the debugger will not show the function definition, nor will it be available through procedure profiling.
Syntax 3 Use the RECOMPILE syntax to recompile a user-defined SQL function. When you recompile a function, the definition stored in the catalog is re-parsed and the syntax is verified. The preserved source for a function is not changed by recompiling. When you recompile a function, the definitions obfuscated by the SET HIDDEN clause remain obfuscated and unreadable.
Must be the owner of the function or have DBA authority.
Automatic commit.
SQL/2003 Vendor extension.
In this example, MyFunction is created and altered. The SET HIDDEN clause obfuscates the function definition and makes it unreadable.
CREATE FUNCTION MyFunction( firstname CHAR(30), lastname CHAR(30) ) RETURNS CHAR(61) BEGIN DECLARE name CHAR(61); SET name = firstname || ' ' || lastname; RETURN (name); ALTER FUNCTION MyFunction SET HIDDEN; END; |
Discuss this page in DocCommentXchange. Send feedback about this page using email. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |