insert into grade values(1,
'一年级',
class_name(
class_type(1, '1班'),
class_type(2, '2班'),
class_type(3, '3班')
)
);
update table (select classes from grade where id = 1) t
set value(t) = class_type(3, '4班') where t.id = 3;
delete from table (select classes from grade where id = 1) t
where t.id = 3;
二、可变数组
可变数组的使用跟嵌套表很相似,也需要类型定义。
下面以工厂-工人为示例。
create type worker_type as object (
id number,
name varchar2(32)
);
create type worker_list as varray(20) of worker_type;
create table factory (
id number,
name varchar2(32),
workers worker_list
);
insert into factory values(1,
'工厂1 ',
worker_list(
worker_type(1, '张三'),
worker_type(2, '李四'),
worker_type(3, '王五')
)
);