1. 程式人生 > >PostgreSQL中的複合型別

PostgreSQL中的複合型別

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));

4.訪問複合型別

    與訪問結構體中的成員一樣,訪問複合型別需要指明域和成員。注意要用括號()避免SQL解析器混淆,否則會報錯。

select (information).name from student;

5.修改複合型別

    可以修改整個複合字段,也可以只修改複合字段的一部分。注意圓括號()的使用。

update student set information.age=21 where id=2;
update student set information=('Davw',17) where id=3;

6.查詢

select * from student;