Privileges necessary for using CREATE FUNCTION
You must hold the Resource privilege or the DBA privilege on a database to create a function within that database.
Before you can create a function, you must also hold the Usage privilege on the programming language in which the function is written. The GRANT USAGE ON LANGUAGE statement can specify the SPL, C, or Java™ language when it grants a language-level privilege to a user or to a role. For more information, see Language-Level Privileges.
By default, Usage privilege on SPL is granted to PUBLIC.
To register functions in the C or Java™ external
programming languages, you must also hold the built-in EXTEND role,
unless the IFX_EXTEND_ROLE configuration parameter is set to 0
or
to Off
.