1
私はPLSQL
に次のコードを持っている:ORA-00903:無効なテーブル名
ORA-00903:無効なテーブル名
ORA-06512:時における
Declare tablename varchar2(20):='emp'; drop_stmt varchar2(2000); begin drop_stmt:='drop table :1 ;'; --dbms_output.put_line(drop_stmt); execute immediate drop_stmt using tablename; end;
結果行8
実行時:
drop table emp ;
これは正常に実行されます。このエラーの原因は何ですか?
識別子(など、テーブル名、カラム名とは)バインドすることはできません。実際に動的SQLを使用する必要がある場合は、何らかのバリデーションを実行した後、ハードコード(連結) –