PL/SQL 内存表删除元素

2017-05-09  本文已影响28人  DreamOver

存储过程中的内存表可以当做其他程序语言中的数组来使用。

删除某一元素后该元素位置仍然存在

将数组中所有元素都删除后,该数组成为空数组,而不是 null

DECLARE
  TYPE NUMLIST IS TABLE OF NUMBER;
  ARRAY_TEST NUMLIST := NUMLIST(1, 3, 5, 7);

BEGIN
  --删除元素
  ARRAY_TEST.DELETE(1);
  ARRAY_TEST.DELETE(2);
  ARRAY_TEST.DELETE(3);
  ARRAY_TEST.DELETE(4);

  --检查数组长度是否为 0
  DBMS_OUTPUT.PUT_LINE('Length of ARRAY_TEST: ' || ARRAY_TEST.COUNT);

  --检查数组是否为 null
  IF ARRAY_TEST IS NULL THEN
    DBMS_OUTPUT.PUT_LINE('ARRAY_TEST IS NULL.');
  ELSE
    DBMS_OUTPUT.PUT_LINE('ARRAY_TEST IS NOT NULL.');
  END IF;

END;

输出结果:

Length of ARRAY_TEST: 0
ARRAY_TEST IS NOT NULL.
上一篇下一篇

猜你喜欢

热点阅读