是一个数组,它的元素的个数可以在0和声明的最大个数之间变动。访问可变数组中的元素:
|
variable_name(index) |
index∈(1,元素的个数),上限值随着插入和删除元素而改动,但不能超过最大值。
数据库以单个对象存储可变数组变量,如果可变数组变量 < 4KB,则它位于表内,该表只有一列,否则位于表外,但在相同的表空间中。
一个未初始化的可变数组是一个NULL集合。必须指定它为EMPTY或赋予一个非NULL的值对其进行初始化。
|
DECLARE --可变数组 TYPE Foursome IS VARRAY(4) OF VARCHAR2(15); -- 使用构造器初始化可变数组变量 team Foursome := Foursome('AAAA', 'BBBB', 'CCCC', 'DDDD'); --嵌套子程序 PROCEDURE print_team (heading VARCHAR2) IS BEGIN DBMS_OUTPUT.PUT_LINE(heading); FOR i IN 1..4 LOOP DBMS_OUTPUT.PUT_LINE(i || '.' || team(i)); END LOOP; DBMS_OUTPUT.PUT_LINE('---'); END; BEGIN print_team('第一组:'); team(3) := 'EEEE'; -- 改变2个元素的值 team(4) := 'FFFF'; print_team('第二组:');
-- 调用构造器给可变数组变量赋新值 team := Foursome('GGGG', 'HHHH', 'IIII', 'JJJJ'); print_team('第三组:');
END;
|
可变数组适用于:
n 知道元素的最大个数
n 通常顺序地访问这些元素
因为必须同时获取和存储所有元素,所以可变数组不适用于大量的元素。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1107206/ ,如需转载,请注明出处,否则将追究法律责任。