我想知道如何插入包含类型的行,我正在整个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。
答案 0 :(得分:1)
基于documentation的复合类型是使用ROW()
函数创建的。因此,您的INSERT
语句应为
INSERT INTO Employees (id, name, departament, salary)
VALUES (1, ROW('name1', 'surname1', 'surname2'), 10, 20000.00);