この動的 SQL を実行しようとしています ( を使用EXECUTE IMMEDIATE
)
M_SQL_STATEMENT := 'SELECT MAX(:m_var1)+1 from :m_var2 RETURNING MAX(:m_var1)+1 INTO :m_var3';
EXECUTE IMMEDIATE M_SQL_STATEMENT
USING M_COLUMN_NAME, UPPER(P_TABLE_NAME), M_COLUMN_NAME
RETURNING INTO M_SEQ_NUMBER;
しかし、これを実行しようとすると、私は遭遇し続けます
ORA-00903: Invalid table
P_TABLE_NAME は、入力として受け入れられるテーブル名です。テーブル名とカラム名が正しいことを確認しました。Oracle がエラーをスローする理由がわかりません。
FWIW SQL ステートメントを次のように変更する
M_SQL_STATEMENT := 'SELECT MAX(:m_var1)+1 SEQ from :m_var2 RETURNING SEQ INTO :m_var3';
それでも同じエラーが発生します。