6

次の名前のOracleストアドプロシージャがありますCREATE_CASE_EXL

PROCEDURE  CREATE_CASE_EXL(P_RICdata RICTab,
                       P_sACTION_TYPE IN VARCHAR2);

RICTabカスタムタイプです:

TYPE RICTab IS TABLE OF MMSRRicRec  INDEX BY BINARY_INTEGER;

TYPE MMSRRicRec IS RECORD
 ( RIC        VARCHAR2(32),
   FID_NO     NUMBER(8),
   REC_ID     NUMBER(8),
   MMS_ACTION VARCHAR2(1)
 );

PL/SQL でこのコードを実行して実行しCREATE_CASE_EXLます。

DECLARE
pTE_RICS     RICTab 

BEGIN
    pTE_RICS(1).RIC  := 'RIC1';
    pTE_RICS(1).FID_NO := NULL;
    pTE_RICS(1).REC_ID := 3;
    pTE_RICS(1).MMS_ACTION := 'A';

    pTE_RICS(1).RIC  := 'RIC2';
    pTE_RICS(1).FID_NO := NULL;
    pTE_RICS(1).REC_ID := 4;
    pTE_RICS(1).MMS_ACTION := 'A';

    CREATE_CASE_EXL( pTE_RICS , 'A');

END;

.NET で同様のものを実行する必要があります。パラメーターをデータのテーブルとして Oracle ストアド プロシージャに渡す方法を教えてください。このタスクに UDT を使用する必要がありますか?

4

2 に答える 2

4

実際にサポートされていることがわかりましたが、そのためには Oracle UDT を使用する必要があります。

問題を解決するために使用したリソースへのリンクは次のとおりです

アドバイスをくれたみんな、本当にありがとう!

于 2012-10-05T14:39:48.327 に答える
0

これは現在サポートされていないと思います。何らかの回避策を使用する必要があると思います。

1) XML

2) スマート連想配列

pTE_RICS(1).RIC  := 'RIC1'; -> pTE_RICS("item[0].RIC")  := 'RIC1';

私たちは 1 年前にそれらの中から選択していましたが、XML を選択しました。(また、ケースを機能させようとしますが、成功しません)

于 2012-10-03T17:56:35.107 に答える