スクリプトに使用されるテーブル名を変数に設定するpl \ sqlスクリプトがあります。そこで、私はウェブ上で見つけたいくつかの例から、私は以下のコードを書いた。最初のセクションが機能するので、私の一般的な構文は正しいと思うが、テーブル名に変数を使用しようとする2番目のセクション( "SQLエラー:ORA-00903:無効なテーブル名")。テーブル名にoracleスクリプトの変数を使用する方法
私が間違っていることを知っている人は誰でも知っています...私は多分PL \ SQLを多用していないので、おそらく私はちょっとしたことが分かりません。
--works
variable numOfrecords number;
exec :numOfrecords := 10;
select * from customers2008 where rownum < :numOfrecords;
--does not work
variable tableNm CHAR;
exec :tableNm := 'customers2008';
print tableNm;
select * from :tableNm;
FYI:実際の例に基づいて、PL/SQLを実際に使用しているわけではありません。私はあなたがSQLPlusスクリプトを持っていることを意味すると思います。技術的には、execコマンドはPL/SQLを呼び出していますが、ここで示しているのはSQLPlusコマンドです。 –
まあ、技術的に彼は両方を使用しています - スクリプトの変数コマンドはPL/SQLバインド変数を宣言します。 –