如何从Oracle中的varray删除元素?

时间:2019-12-02 04:42:35

标签: oracle collections varray

我将CREATE OR REPLACE TYPE vary_typ IS VARRAY(40) OF NUMBER; /创建为一个varray集合,并形成匿名块,如

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然后删除来删除它?

我已经看过帖子Delete element from Varray Oracle。有解决方案是我所期望的不同。我想删除varray并将其放入稀疏集合中,可以吗?

0 个答案:

没有答案