oracle查数据存入数组,如何在SQL查询中使用Oracle关联数组

ODP.Net公开了将关联数组作为参数从C#传递到Oracle存储过程的能力.除非您尝试在sql查询中使用该关联数组中包含的数据,否则它是一个很好的功能.

原因是它需要上下文切换 – SQL语句需要SQL类型,并且传递到PL / SQL的关联数组实际上定义为PL / SQL类型.我相信在PL / SQL包/过程/函数中定义的任何类型都是PL / SQL类型,而在这些对象之外创建的类型是SQL类型(如果你能提供更清晰的那些,请做但不是它的目标)题).

所以,问题是,您将使用什么方法将PL / SQL关联数组参数转换为过程中可以在sql语句中使用的方法,如下所示:

OPEN refCursor FOR

SELECT T.*

FROM SOME_TABLE T,

( SELECT COLUMN_VALUE V

FROM TABLE( associativeArray )

) T2

WHERE T.NAME = T2.V;

出于此示例的目的,“associativeArray”是由PLS_INTEGER索引的varchar2(200)的简单表.在C#中,associativeArry参数填充了字符串[].

除了使用关联数组之外,请随意讨论其他方法,但提前知道这些解决方案将不被接受.不过,我有兴趣看到其他选择.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值