【发布时间】:2016-01-28 15:22:25
【问题描述】:
我有一个记录的 PLSQL 嵌套表。
type rec is record
(a number,
b number);
type tab is table of rec;
v_tab tab;
我正在从批量查询中填充此集合;
select x,y bulk collect into v_tab from testtable;
现在我需要查找 v_tab 集合中是否有 v_tab.a 为空的记录。我可以在不循环收集的情况下(通过使用某些方法)吗?
【问题讨论】:
-
如果您的 Oracle 版本是 12.1 或更高版本,您可以使用 TABLE() 运算符来查询您的集合,但如果是旧版本,那么您的集合需要在架构级别为此定义去工作。见这里:stevenfeuersteinonplsql.blogspot.ca/2015/04/…
-
我在包级别定义了类型并尝试了同样的事情。它在 12C 上为我工作。但不幸的是,我想让它在 11g 上运行。 :(
-
不幸的是,对于 11G,它要么将集合重新定义到架构级别,要么循环遍历集合。希望我有另一个选择...