次のシグネチャを持つ tibco で実行するストアド プロシージャ (SP) が提供されています。
PROCEDURE GET_STOCK_QTY(
WarehouseId Number,
LineItem ref_lines,
ResponseCode OUT Number,
ResponseDesc OUT Varchar2,
RespLineItems OUT sys_refcursor
);
*ref_lines* は次のように定義されます。
TYPE items_record is RECORD(
ItemCode varchar2(15),
ItemQuantity number
);
type ref_lines IS REF CURSOR RETURN items_record;
すでにお気づきのように、SP の入力と出力としてカーソルがあります。私はすでにこの種の問題をグーグルで調べていて、tibcoがこれらのタイプの入力と出力をサポートしていないことを発見しました。また、それがブール値のネイティブタイプをサポートしていないことも発見しました。これは奇妙です... :Sいずれにせよ、私が読んだことについては、2 つの可能な解決策が進行中です。
- SQL ダイレクト
- Java カスタム関数
さて、疑問です。
ソリューション番号 1 を使用する場合、純粋な SQL で入力として提供するカーソルを作成する必要がありますが、どのように行うのでしょうか? 入力用に持っている値を使用して一時テーブルを作成し、そのテーブルのカーソルを開く必要がありますか? これがこれを行う唯一の方法ですか?
解決策 2 についてはまだ調べていませんが、Java はこれらの種類の入力と出力をサポートできると考え、配列を宣言するだけです。この仮定は正しいですか?これは簡単でしょうか、それともソリューション番号 1 のように SQL を呼び出す必要がありますか?
PS: この 2 つの可能な解決策だけですか? BW がこの WEIRD 入力と出力をサポートするようにするための回避策を備えた tibco グルはいますか? :P
前もって感謝します, ティアゴ・ブルンホソ・ヌネス