定義者権限と実行者権限

Oracleのストアドサブプログラムの実行時の権限は、デフォルトでは実行するユーザではなくストアドサブプログラムを定義したユーザのそれになる。いやぁ知らんかったなぁ。DBA権限を持っているユーザで実行しているのに、なんで権限不足でエラーになるのかって(^^ゞ。実行ユーザの権限で実行するときは、たとえば

CREATE OR REPLACE PROCEDURE <procedure name> AUTHID CURRENT_USER IS ...

のようにAUTHID句を指定してストアドサブプログラムを作成する。まだまだ勉強しないと。