如何在 PostgreSQL 中手动创建行数组?

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

我正在尝试手动创建行数组,如下所示:

SELECT ARRAY['(John,Smith)','(David,Miller)']::RECORD[];
SELECT ARRAY['(John,Smith)'::RECORD,'(David,Miller)'::RECORD];

但是我收到以下错误:

错误:未实现匿名复合类型的输入

实际上,我可以在没有

::RECORD[]
::RECORD
的情况下运行查询,但类型是
TEXT[]
:

SELECT ARRAY['(John,Smith)','(David,Miller)'];

那么,如何手动创建行数组?

sql database postgresql row recordtype
1个回答
0
投票

答案已经在你的问题中了:你可以使用

row()
构造函数。 演示:

select pg_typeof(array[row(1,2),row(3,4)]);
pg_typeof
记录[]
© www.soinside.com 2019 - 2024. All rights reserved.