我已将SchemaTuple
定义为:
create type SchemaTuple as ("table" text, "attributes" text);
我想在此插入值,但我不知道该怎么做。
我首先尝试声明变量:
tuple SchemaTuple;
然后:
INSERT INTO tuple (table, attributes) VALUES ('tablename','attributename');
问题是,我收到错误:
ERROR: syntax error at or near ","
其中,
是指(table,attributes)
有人可以告诉我这样做的正确方法吗?
答案 0 :(得分:0)
您无法直接在类型中插入值。您将为该类型创建一个表,或者使用该类型作为表中属性的类型。 例如:
--create type
CREATE TYPE PersonType AS (
ID INTEGER,
NAME CHAR(50)
);
CREATE TABLE Student OF PersonType (
ID WITH OPTIONS NOT NULL,
NAME WITH OPTIONS NOT NULL
);
INSERT INTO Student VALUES (100, 'Joe');
或
CREATE TABLE Transcript (
COURSE CHAR(10),
STDNT PersonType
);
然后将值插入Transcript表,并将STDNT的值指定为Row类型。