デフォルトでは、関数とストアドプロシージャは作成者本人のみが実行できます。ただし、GRANT を使用して他のユーザーに実行権限を付与することができます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
GRANT 権限付与構文は以下のとおりです:
GRANT system_privilege | role
TO user | role | PUBLIC [WITH ADMIN OPTION]
GRANT object_privilege | ALL ON schema.object
TO user | role | PUBLIC [WITH GRANT OPTION]
例:hr.log_message ストアドプロシージャの実行権限をすべての人に付与します。
obclient> GRANT EXECUTE ON log_message TO PUBLIC;
Query OK, 0 rows affected
よく使われるシステム権限コマンドは以下のとおりです:
CREATE ANY PROCEDURE:すべてのストアドプロシージャを作成する権限。DROP ANY PROCEDURE:すべてのストアドプロシージャを削除する権限。EXECUTE ANY PROCEDURE:すべてのストアドプロシージャを実行する権限。