145.Oracle数据库SQL开发之 集合——10g对集合的增强(2)
时间:2025-07-10
时间:2025-07-10
END customers_associative_array;
/
调用customers_associative_array collection_user3@PDB1> set serveroutput on
collection_user3@PDB1> call customers_associative_array();
v_customer_array['Jason'] = 32
v_customer_array['Steve'] = 28
v_customer_array['Fred'] = 43
v_customer_array['Cynthia'] = 27
Call completed.
2. 更改元素类型的大小
当元素类型是字符、数字或原始类型其中之一时,可以更改集合中元素类型的大小。 创建变长数组类型如下: CREATE TYPE t_varray_address AS VARRAY(3) OF VARCHAR2(50);
/
修改VARCHAR2元素大小更改为60:
collection_user3@PDB1> alter type t_varray_address modify element type varchar2(60) cascade;
Type altered.
CASCADE选项把更改传播到数据库中的任何依赖对象。
3. 增加变长数组的元素数目
可以增加变长数组的元素数目:
collection_user3@PDB1> alter type t_varray_address modify limit 5 cascade;
Type altered.
4. 在临时表中使用变长数组
可以在临时表中使用变长数组。如下: CREATE GLOBAL TEMPORARY TABLE cust_with_varray_temp_table (
id INTEGER PRIMARY KEY,
first_name VARCHAR2(10),
last_name VARCHAR2(10),
addresses t_varray_address
);