【发布时间】:2012-09-24 14:36:58
【问题描述】:
我有一个名为 CREATE_CASE_EXL 的 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;
我需要在 .NET 中执行类似的操作。您能否告知我如何将参数作为数据表传递给 Oracle 存储过程?我应该为此任务使用 UDT 吗?
【问题讨论】:
-
tranceporter,感谢您的链接,但在示例中他们使用单维数组,在我的情况下,我需要具有 2 列的二维数组 - RIC、FID_NO、REC_ID、MMS_ACTION。干杯!
标签: c# oracle parameter-passing odp.net