我有一個Oracle存儲過程命名爲CREATE_CASE_EXL
:如何從C#中的表值參數傳遞到Oracle存儲過程
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;
I N在.NET中執行類似的東西。您能否請告知我如何將參數作爲數據表傳遞給Oracle存儲過程?我應該使用UDT來完成這項任務嗎?
看看這裏。 http://my-tech-talk.blogspot.co.uk/2010/01/how-to-pass-arrays-from-net-c-to-oracle.html – tranceporter
tranceporter,感謝您的鏈接,但在他們使用單維數組的例子,在我的情況下,我需要2維數組,它有2列--RIC,FID_NO,REC_ID,MMS_ACTION。乾杯! –