如何在表中插入具有类型的行(PostgreSQL)

时间:2018-11-12 19:44:25

标签: java postgresql

我想知道如何插入包含类型的行,我正在整个Internet上进行研究,但是找不到如何做。

CREATE TYPE t_name 
 AS(name char(50),
  surname1 char(50),
  surname2 char(50));

CREATE TABLE Employees (
 id int PRIMARY KEY NOT NULL, 
 name t_name,
 departament int,
 salary real);

我想插入一行,但是找不到。 示例:

INSERT INTO Employees(id, name, departament, salary)
 VALUES(1,t_nom['name1','surname1','surname2']),10,20000.00);

(上面的代码不起作用)。

我正在使用postgreSQL。

1 个答案:

答案 0 :(得分:1)

基于documentation的复合类型是使用ROW()函数创建的。因此,您的INSERT语句应为

INSERT INTO Employees (id, name, departament, salary)
  VALUES (1, ROW('name1', 'surname1', 'surname2'), 10, 20000.00);