我曾经 bulk collect
将记录提取到嵌套表中。我想用方法搜索记录,exists
但没有成功。然后我发现该exists
方法使用索引并且不查找值。我是否需要遍历每条记录并搜索匹配项?是否有更短的方法可以做到这一点,因为我将对大量记录使用相同的逻辑?
bulk collect
我在使用 varchar 作为键时无法正常使用关联数组的网站中阅读,因此我使用了嵌套表。此外,我不想读取每条记录并将其存储在哈希图中,因为它会降低性能。
Create table sales(
name varchar2(100)
)
insert into sales(name) values('Test');
insert into sales(name) values('alpha');
insert into sales(name) values(null);
declare
type sales_tab is table of varchar2(1000);
t_sal sales_tab;
begin
select name bulk collect into t_sal from sales;
if(t_sal.exists('Test')) THEN
dbms_output.put_line('Test exists');
END IF;
dbms_output.put_line(t_sal.count);
end;