我创建了一个自定义记录类型,说record_object
,其值为column3
。此记录填充为
OPEN cur_record FOR query;
BEGIN
LOOP
FETCH cur_record BULK COLLECT INTO record_object;
FOR i IN 1..record_object.count;
END LOOP;
EXIT WHEN cur_record%notfound;
END LOOP;
END;
我想将record_object(i).column3
与Table1
中的值进行比较。这张桌子不是很大,所以我想创造一些东西
TYPE RTable1 IS RECORD
(
column1 varchar2(10),
column2 varchar2(10)
);
Type TTable1 IS TABLE OF RTable1 INDEX BY BINARY_INTEGER;
record_table1 TTable1;
此记录也将通过查询获取。现在的问题是,我想将record_object(i).column3
与record_table1.column2
进行比较。我不想使用2个嵌套循环。有没有像我可以在Table1
上实现的哈希表的方法,当我要求查看其中是否存在record_object(i).column3
时,它会返回该特定的行/索引?
P.S: 请忽略我的语法错误,我在这里发帖时写了我的sql。
答案 0 :(得分:1)
您可以修改查询以返回有序的字符串集。两个有序数组的比较将是简单而快速的。