アプリケーションでは、SQL文を使用して要素を初期化できます。グローバルタイプのない関数から複数の値を返す方法
SELECT name $GUIElement
FROM myTable
WHERE id = 1337;
基本的なデータベース構造が変更される可能性があるため、構造体を非表示にして、代わりにOracleパッケージをインタフェースとして使用することをおすすめします。今私は、リストの初期化の問題に直面しています
SELECT myPackage.getNameByID(1337) $GUIElement
FROM DUAL;
:単一の値の場合、このアプローチは次のような機能とうまく動作します。関数から複数の値を返すには、新しいSQL型を定義する必要があります。関数がTABLE OF VARCHAR2
を返す場合、このコードは動作します:
SELECT COLUMN_VALUE $GUIList
FROM TABLE(myPackage.getNames())
は、残念ながら、私は生産的なデータベースに新しいタイプを作成するには何の権利を持っていません。 Oracleでは、新しいデータ型を定義せずに同様の動作をさせる方法はありますか?私はSYS_REFCURSER
を調べましたが、正しく動作していないようです。
なぜ機能が常にテーブルを返すように設定しないのですか? –
私が知る限り、テーブルを返すには新しいSQL型が必要です。 – Thanthla
これは、PL/SQLでデータ・カートリッジを作成することで実行できます。例えば、ここに:http://www.oracle-developer.net/display.php?id=422そしてここに:https://github.com/method5/method4 –