1.定义复合类型
定义中声明字段名称和类型,但不能声明约束(如not null)。注意不要忘记关键字AS。
CREATE TYPE person AS (
name varchar(20),
age int
);
2.建表
CREATE TABLE student (
id int,
information person
);
3.插入数据
insert into student values(1,('April',18));
insert into student values(2,('Harris',20));
insert into student values(3,('Amy',25));
4.访问复合类型
与访问结构体中的成员一样,访问复合类型需要指明域和成员。注意要用括号()避免SQL解析器混淆,否则会报错。
select (information).name from student;
5.修改复合类型
可以修改整个复合字段,也可以只修改复合字段的一部分。注意圆括号()的使用。
update student set information.age=21 where id=2;
update student set information=('Dave',17) where id=3;
6.查询
select * from student;