【发布时间】:2011-12-01 20:44:15
【问题描述】:
我有一个执行两步查询的存储过程。第一步是从表中收集 VARCHAR2 类型字符的列表,并将它们收集到表变量中,定义如下:
TYPE t_cids IS TABLE OF VARCHAR2(50) INDEX BY PLS_INTEGER;
v_cids t_cids;
所以基本上我有:
SELECT item BULK COLLECT INTO v_cids FROM table_one;
这在下一点之前都可以正常工作。
现在我想在同一过程中的另一个查询的 where 子句中使用该集合,如下所示:
SELECT * FROM table_two WHERE cid IN v_cids;
有没有办法做到这一点?我可以选择单个元素,但我想像使用常规表一样使用表变量。我尝试过使用嵌套选择的变体,但这似乎也不起作用。
非常感谢,
扎克
【问题讨论】:
标签: oracle collections oracle11g