【发布时间】:2014-08-21 21:44:12
【问题描述】:
我需要在 Oracle 10g/11g 的存储过程中执行此操作:
SELECT COLUM1 INTO SOME_ARRAY FROM TAB1 WHERE COLUMN2=P_COL2;
然后我希望能够在另一个带有 IN 子句的查询中使用 SOME_ARRAY,如下所示:
SELECT * FROM TAB2 WHERE TAB2.COLUMN1 IN SOME_ARRAY
这可能不需要创建类型吗?也许是一个动态数组?一点代码将不胜感激。
【问题讨论】:
-
TYPE是您要寻找的动态数组!还是只是一个子查询? -
子查询是指
SELECT * FROM TAB2 WHERE TAB2.COLUMN1 IN (SELECT COLUM1 FROM TAB1 WHERE COLUMN2=P_COL2)?如果是这样,我不喜欢那样。那你能告诉我我会怎么走TYPE吗? -
可能不可能,您会遇到 PLS-00642 错误,请参阅dba-oracle.com/…
标签: arrays oracle stored-procedures in-clause