2

DBMS_SQL.to_refcursor必要な refcursor を返すための優れたソリューションになる同僚がいますが、Oracle 10g を実行しており、この機能は 11g でのみ使用できます。

Oracle 10g でこれに相当するものはありますか?

ソリューションをコーディングする別の方法を開発しましたが、DBMS_SQL でバインド変数を使用する方が簡単ですが、このパッケージの管理が過度に困難になることは避けたいと考えています。 .

4

1 に答える 1

0

このリンクにはDBMS_SQL.to_refcursor. OPEN ... FOR私は主に次の表記法を使用する傾向があります。

L_CURSOR SYS_REFCURSOR;
L_QUERY  VARCHAR2(5000) DEFAULT '...'

BEGIN

   FOR I IN 0 .. (TRUNC(LENGTH(L_QUERY) / 255)) LOOP
     DBMS_OUTPUT.PUT_LINE(SUBSTR(L_QUERY, I * 255 + 1, 255));
   END LOOP;

   OPEN L_CURSOR FOR L_QUERY;
   RETURN L_CURSOR;

END;

アップデート:

残念ながら、私の場合、さまざまな数の変数をバインドしているため、これは機能しません。それが、構文を使用せずにプログラムで変数をバインドするために DBMS_SQL パッケージを使用した理由です。

contextその場合は変数を使用することをお勧めします。これらは 9i 以降でサポートされています。

于 2009-12-07T01:40:03.220 に答える