我创建一个可变数组集合CREATE OR REPLACE TYPE vary_typ IS VARRAY(40) OF NUMBER;
/
并形成匿名块
DECLARE
v_a vary_typ := vary_typ (1,3,5,6,34,67,50);
BEGIN
FOR i IN v_a.FIRST..v_a.COUNT
LOOP
IF v_a.EXISTS(i) THEN
v_a.DELETE(i);
ELSE
dbms_output.put_line(i);
END IF;
dbms_output.put_line(v_a);
END LOOP;
END;
/
但无法删除。我知道varray
不能使用.DELETE
仅执行方法删除.TRIM
。但我的问题是,是否有可能通过将元素转换为INDEX BY TABLE
然后删除来删除元素?
我已经看到了Varray Oracle 中的 Delete element的帖子。解决方案与我的预期不同。我想删除并将 varray 变成稀疏集合,可以吗?