PL/SQL 集合 -- 可变数组

本文介绍了PL/SQL中的可变数组,这是一种容量可变但有限制的数组类型。与传统数组不同,可变数组的索引从1开始,不支持直接比较两个可变数组,但可以检查其是否为NULL。了解这些特性对于优化Oracle数据库的存储和处理性能至关重要。
摘要由CSDN通过智能技术生成

-- Start

可变数组是容量可以变化的数组,但不能超过最大容量。和其他语言不同,可变数组的索引从 1 开始。另外我们不能比较两个可变数组,但是可以检查可变数组是否为 NULL。

DECLARE
  -- 定义一个可变数组类型 MY_ARRAY,它的最大容量是100,元素类型是 VARCHAR2
  TYPE MY_ARRAY IS VARRAY(100) OF VARCHAR2(15);
  
  -- 定义一个类型为 MY_ARRAY 的可变数组变量 TEST1, 此时 TEST1 是 NULL
  test1 MY_ARRAY;
  
  -- 定义一个类型为 MY_ARRAY 的可变数组变量 TEST2, 此时 TEST2 是一个空数组
  test2 MY_ARRAY := MY_ARRAY();
  
  -- 定义一个类型为 MY_ARRAY 的可变数组变量 TEST3, 此时 TEST3 是一个有4个元素的数组
  test3 MY_ARRAY := MY_ARRAY('element 1', 'element 2', 'element 3', 'element 4');

BEGIN  
  test3.EXTEND();     -- 添加 1 个 NULL 元素到末尾
  test3.EXTEND(3);    -- 添加 3 个 NULL 元素到末尾
  test3.EXTEND(3, 1); -- 复制元素1的值, 添加 3 个到末尾
  
  DBMS_OUTPUT.PUT_LINE('
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值