我可以切片PL / SQL集合吗?

时间:2009-10-29 10:33:38

标签: oracle plsql varray

我有一个PL / SQL VArray,我正在填写像这样的BULK COLLECT查询:

SELECT id
BULK COLLECT INTO myarray
FROM aTable

现在我想将这个集合的一部分传递给另一个集合,如下所示:

newarray := myarray(2..5)

这应该将元素2,3,4和5从myarray传递给newarray。

我可以写一个循环并复制元素,但是有更简洁的方法吗?

1 个答案:

答案 0 :(得分:3)

通常,您不希望这样做。你在内存中有一个大集合,现在你想要复制它。这甚至会使用更多内存。通常在这种情况下,你传递整个集合(通过引用,而不是值),并提供开始和停止索引。将其留给其他函数只处理指定的范围。