こんにちは
.NET + ORACLEでプログラムを作っているのですが、.NET <---> PL/SQLは配列を使ってデータを受け渡しています。
基本的には配列で事足りるのですが、配列をSELECT文のWHEREに指定したい時に面倒かつパフォマンスが悪いなーと感じています。
具体的には
CURSOR CUR(p_ID IN NUMBER) IS SELECT 略 FROM WHERE ID = p_ID; /* idには.NETから配列で渡されてきた値が入っています。*/ FOR i IN id.first .. id.last LOOP OPEN CUR(id(i)) /*毎回検索しているのでパフォーマンスが良くない*/ /*色々な処理*/ CLOSE CUR; END LOOP
といった処理を書くときです。
こういったコードを書く時に、配列をテーブルに変換出来ないだろうか?と思うようになりました。
流石にこれだけの為に、一時表を宣言するのは気が引けます。
SQL Serverのテーブル値変数みたいな感じのものをイメージしています
ORACLEで配列をテーブルっぽく使う方法は無いのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。