135.Oracle数据库SQL开发之 集合——使用集合类型定义表列
欢迎转载,转载请标明出处:blog.csdn.net/notbaron/ar…\
创建集合类型之后,就可以用它来定义表列了。
1. 使用变长数组类型定义表列
CREATE TABLE customers_with_varray (
id INTEGER PRIMARY KEY,
first_nameVARCHAR2(10),
last_name VARCHAR2(10),
addresses t_varray_address
);
使用t_varray_address来定义列addresses.
当变长数组的大小小于等于4KB时,变长数组中的元素直接存储在表中。否则,变长数组存储在表之外。当变长数组存储在表中时,元素访问速度比嵌套表的元素访问速度快。
2. 使用嵌套表类型定义表列
如下:
CREATE TABLE customers_with_nested_table (
id INTEGER PRIMARY KEY,
first_nameVARCHAR2(10),
last_name VARCHAR2(10),
addresses t_nested_table_address
)
NESTED TABLE
addresses
STORE AS
nested_addresses;
NESTED TABLE子句标识了嵌套表列的名称,STORE AS子句指定了实际嵌套表的名称。不能独立于包含嵌套表的父表访问嵌套表。