我有一个 PL/SQL VArray,我正在填充一个 BULK COLLECT 查询,如下所示:
SELECT id
BULK COLLECT INTO myarray
FROM aTable
现在我想将这个集合的一部分传递到另一个集合中,如下所示:
newarray := myarray(2..5)
这应该将元素 2,3,4 和 5 从 myarray 传递到 newarray。
我可以编写一个循环并复制元素,但是有没有更紧凑的方法来做到这一点?
最佳答案
通常,您不想这样做。您在内存中有一个很大的集合,现在您想要制作它的副本。那将使用更多的内存。通常在这种情况下,您传递整个集合(通过引用,而不是值)并提供开始和停止索引。将其留给其他函数以仅处理指定的范围。
关于oracle - 我可以对 PL/SQL 集合进行切片吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642794/