以下の手順を考慮してください。処理のためには、とにかくすべての処理段階を経なければなりません。だから私の質問は次のとおりです。これは解析段階で'Select job_id from asfd'
はまだ文字列として扱われていますが、EXECUTE IMMEDIATE
の実行段階である'Select job_id from asfd'
がSQL文として再び解析されていますか?私はhereで見つかったEXECUTE IMMEDIATEのSQL文は実行時に解析されますか?
CREATE OR REPLACE PROCEDURE test_ei
IS
BEGIN
EXECUTE IMMEDIATE ‘select job_id from asfd’; //line 3
END;
1つの説明はasdf
表が存在しませんが、腸が正常にそう'Select job_id from asfd'
はまだこの段階では、文字列として扱われ、コンパイルされています。いかなる訂正もお願いします。
実際には、EXECUTE IMMEDIATE 'select * asfd';
が3行目に置き換えられても、それでも正常に適合します。だから私は上記の説明が正しいと思います。
異なるフェーズについてのいくつかの有用な情報:[リンク] https://docs.oracle.com/cd/A57673_01/DOC/server/doc/A48506/sqlconce.htm – Anand
はい、手続きのための解析時に、 'select job_id from asfd'は**解析されていません**、実行時にのみ解析されます。 –