postgres:插入自定义类型的数组

问题描述 投票:0回答:1

我有:


CREATE TYPE Person AS (given_name VARCHAR,
                       family_name VARCHAR);
CREATE TYPE Contributors AS (directors person[],
                             actors person[]) ;
CREATE TABLE Catalogue (id serial, contributors Contributors)

并且我想将以下数组文字插入目录表的contributors字段中:

({},{(Song,Kang-ho),(Omar,Sharif)})

通过JDBC Driver's PGobject值,但是我很难这样做。

我遇到了这个question,我有点理解这个问题。

我尝试了以下操作:

({}, "{(Song,Kang-ho),(Omar,Sharif)}")

但是我得到了:

错误:格式错误的记录文字:“(Song”详细信息:输入的意外结束。

所以我尝试了:

'({},"{(Song,Kang-ho),(Omar,Sharif)}")'

还有:

'({},"{'(Song,Kang-ho)','(Omar,Sharif)'}")'

但我收到此错误:

错误:格式不正确的记录文字:...。详细信息:缺少左括号。

用于数组文字内部的嵌套行字段的语法是什么?

java postgresql literals
1个回答
0
投票

很难弄清楚您实际上在尝试什么,因为您只显示语句的一部分,而且不清楚所显示的部分在哪里适合整体。

此作品:

insert into catalogue values  (1,('{}', '{"(Song,Kang-ho)","(Omar,Sharif)"}'));

也是这样:

insert into catalogue values  (1,'({},"{""(Song,Kang-ho)"",""(Omar,Sharif)""}")');
© www.soinside.com 2019 - 2024. All rights reserved.