DBMS_SQL.to_refcursor
必要な refcursor を返すための優れたソリューションになる同僚がいますが、Oracle 10g を実行しており、この機能は 11g でのみ使用できます。
Oracle 10g でこれに相当するものはありますか?
ソリューションをコーディングする別の方法を開発しましたが、DBMS_SQL でバインド変数を使用する方が簡単ですが、このパッケージの管理が過度に困難になることは避けたいと考えています。 .
DBMS_SQL.to_refcursor
必要な refcursor を返すための優れたソリューションになる同僚がいますが、Oracle 10g を実行しており、この機能は 11g でのみ使用できます。
Oracle 10g でこれに相当するものはありますか?
ソリューションをコーディングする別の方法を開発しましたが、DBMS_SQL でバインド変数を使用する方が簡単ですが、このパッケージの管理が過度に困難になることは避けたいと考えています。 .
このリンクには、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 以降でサポートされています。