質問: 55555 こんな感じで設定しておいて、この変数を利用して 一度のsqlで結果を取得したいのです。 できればlikeを使って検索したいのですが...。 書き方がおかしかったらすみません。 どなたかお知恵をお貸しください。
回答: #2です。 よくプログラマーの方がすごい何十ステップにもおよぶ 1sql文を書いているのを目にします。 大量データ、性能試験をやって問題なく 動作するのを確認してくれればいいのですが 少量のデータで試験をして正しい回答が出たからこれでok! みたいなことをやられると後工程でそのsqlが本番の大量試験になると 1時間経っても返って来ないということがよくあります。 一概には言えませんが pl/sqlのpl/sql表やホスト変数としていったん退避して そのテーブル型変数を用いて単純なsqlをloopで繰り返す方が ずっと早い場合もあります。 (バインド変数などを使うとoracleは実行計画を 再利用してくれたりもするのでさらに高速化します) プログラムを書く人はできるだけプログラムを単純化、見やすいようにしようと 努力しているようですがその結果処理速度が遅いプログラムになってしまっては 本末転倒です。 あまり「1sqlで!」というのにこだわらず トータルの処理速度が速い処理内容が一番いいですよ。