我有:
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)'}")'
但我收到此错误:
错误:格式不正确的记录文字:...。详细信息:缺少左括号。
用于数组文字内部的嵌套行字段的语法是什么?
很难弄清楚您实际上在尝试什么,因为您只显示语句的一部分,而且不清楚所显示的部分在哪里适合整体。
此作品:
insert into catalogue values (1,('{}', '{"(Song,Kang-ho)","(Omar,Sharif)"}'));
也是这样:
insert into catalogue values (1,'({},"{""(Song,Kang-ho)"",""(Omar,Sharif)""}")');