forループ内で動的テーブル名を使用します。私はカーソルを使用することでこの問題の解決策があることを理解しています。しかし、私の現在のコードは一般的なforループ(暗黙のカーソル)を持っているので、私は明示的なカーソルのために行くことなく同じ方法を保持できるかどうかを知りたかったので、カーソルなしのソリューションがあるのだろうかと思っていた。今私の作品は何カーソルを使用しない動的テーブル名
は次のとおりです。
BEGIN
for itr in (select var1,var2,var3,var4 from schedule_table)
loop
--work using itr.var1, itr.var2, itr.var3, itr.var4
end loop
END
と、とにかく、私は、forループの同じ種類を使用することができますが、動的にそれにテーブル名を渡すがあった場合、私は知りたいです。私は即時の動的SQLオプションを実行する方法を検討しましたが、forループ内で使用できるとは思いません。私は明示的なカーソルを使って作業するための手順全体を再設計する前に、ここでこれをチェックすることを考えました(暗黙のうちにパフォーマンスを恐れるので大きなファンではありません)。
ありがとうございます。
あなたはそれを通じてEXECUTE IMMEDIATE
BULK COLLECT INTO
に収集・ループを使用することができます
"恐怖"は、ベンチマークの代用品ではありません。行単位のモードで実行している場合、明示的なカーソルを管理するオーバーヘッドが最小限に抑えられるようです。 – APC