Privileges for executing a routine

The Execute privilege enables users to invoke a routine. The routine might be invoked by the EXECUTE or CALL statements, or by using a function in an expression. The following users have a default Execute privilege, which enables them to invoke a routine:
  • By default, any user with the DBA privilege can execute any routine in the database.
  • If the routine is registered with the qualified CREATE DBA FUNCTION or CREATE DBA PROCEDURE statements, only users with the DBA privilege have a default Execute privilege for that routine.
  • If the database is not ANSI compliant, user public (any user with Connect database privilege) automatically has the Execute privilege to a routine that is not registered with the DBA keyword.
  • In an ANSI-compliant database, the procedure owner and any user with the DBA privilege can execute the routine without receiving additional privileges.