我有一个简单的plsql查询,我希望通过在查询中传递数组来从表中运行获取记录。 下面的代码是一个大程序的子程序。
declare
-- some array say item_array (2d dynamic dynamic array)
begin
-- filled some records in array item_array say 1 to 10
select id from demo where item in (item_array(1));
end;
请帮忙。 当我们计算更多transaction_id的频繁项目集时,我需要这样的方法来计算频繁项目集(使用apriori close进行数据挖掘)。
如果可能的话,我们也可以将结果存储在数组中。
答案 0 :(得分:0)
看起来您想要将ANY
keyword与数组一起使用。
SELECT id FROM demo WHERE item = ANY (item_array[1]);
以上假设 - 正如评论所暗示的那样 - item_array
是二维的,你想要搜索第一个元素的数组。
另请注意,当您accessing the array's individual elements时,则使用方括号而不是括号。
虽然我从未这样做,但如果它是INOUT
参数,那么我不明白为什么你不能修改数组并因此返回它。但是,我不相信你有充分的理由这样做;仅仅因为你可以做某事并不能使它成为正确的方法。