ストアドプロシージャを実行する際は、2種類の実行権限方法がある
呼び出し元権限とオーナ権限
Shareされたストアドプロシージャがあったとします。
その際に、CALLで呼び出しで実行する際に呼び出したユーザーの権限で実行するのか
そのストアドプロシージャを作成した作成者の権限で実行させるかを設定ることができます。
以下の場合は、オーナーの権限で実行されますので、呼び出しだユーザーが権限を持っていなくても実行することができます。
CREATE OR REPLACE PROCEDURE my_proc()
RETURNS STRING
LANGUAGE SQL
EXECUTE AS OWNER -- このプロシージャはオーナーの権限で実行される
AS
$$
INSERT INTO my_table VALUES ('data');
$$;