小编Evg*_*y O的帖子

如何将表值参数从C#传递到Oracle存储过程

我有一个名为的Oracle存储过程CREATE_CASE_EXL

PROCEDURE  CREATE_CASE_EXL(P_RICdata RICTab,
                       P_sACTION_TYPE IN VARCHAR2);
Run Code Online (Sandbox Code Playgroud)

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)
 );
Run Code Online (Sandbox Code Playgroud)

我在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;
Run Code Online (Sandbox Code Playgroud)

我需要在.NET中执行类似的操作。您能否建议我如何将参数作为数据表传递给Oracle存储过程?我应该为此使用UDT吗?

c# oracle odp.net parameter-passing

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

odp.net ×1

oracle ×1

parameter-passing ×1