Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数组传递到oracle sql并使用该数组_Sql_Oracle - Fatal编程技术网

将数组传递到oracle sql并使用该数组

将数组传递到oracle sql并使用该数组,sql,oracle,Sql,Oracle,我遇到了以下问题,我正在将一个字符串数组传递到Oracle SQL中,我想检索列表中id所在的所有数据 这是我试过的 OPEN O_default_values FOR SELECT ID AS "Header", VALUE AS "DisplayValue", VALUE_DESC AS "DisplayText" FROM TBL_VALUES WHERE ID IN I_id; I_id是如下描述的数组-类型gl_id是通过PLS_INTEGER的

我遇到了以下问题,我正在将一个字符串数组传递到Oracle SQL中,我想检索列表中id所在的所有数据

这是我试过的

OPEN O_default_values FOR 
SELECT  ID AS "Header",
        VALUE AS "DisplayValue", 
        VALUE_DESC AS "DisplayText"
FROM TBL_VALUES
WHERE ID IN I_id;
I_id是如下描述的数组-类型gl_id是通过PLS_INTEGER的VARCHAR2(15)索引的表

我得到了“表达式类型错误”的错误。 I_id数组有时可以大到600条记录。 我的问题是,有没有一种方法可以实现我刚才描述的,或者我需要创建某种游标并在数组中循环


已经尝试过的-动态创建SQL字符串,然后将值转换到SQL字符串的末尾,然后执行它。这将适用于少量数据,并且字符串的大小是静态的,这将导致一些其他错误(如索引超出范围)。

请查看此链接:

实际上,您需要的是列表中的一个带有绑定变量的变量

请注意:

“the”已弃用。没必要 今天

桌子是它的替代品

从表(函数)中选择*


由于您已经拥有该类型,因此只需执行以下类似操作:

OPEN O_default_values FOR 
SELECT  ID AS "Header",
        VALUE AS "DisplayValue", 
        VALUE_DESC AS "DisplayText"
FROM TBL_VALUES
WHERE ID IN (select column_value form  table(I_id));