如何在PostgreSQL中手动创建 `SETOF <sometype>` 类型的值?

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

根据 doc

,PostgreSQL 有 
SETOF <sometype> 类型,并且 SETOF <sometype>
 类型在函数中使用,如下所示:

-- ↓ ↓ ↓ Here ↓ ↓ ↓ CREATE FUNCTION my_func() RETURNS SETOF <sometype> ...
现在,我想手动创建 

SETOF <sometype>

 类型的值,就像我们可以创建一个数组并手动创建带有 
ROW()
 的行,如下所示:

SELECT ARRAY[1,2,3]::INT[]; -- {1,2,3}
SELECT ROW(1,'John',27); -- (1,John,27)
那么,如何手动创建

SETOF <sometype>

类型的值呢?

sql database postgresql types set
1个回答
0
投票
一种解决方案是使用

VALUES

 语句:

VALUES ('someval'::sometype), ('otherval'::sometype), ...;
您可以将这样的语句用作子查询。另一种方法是取消数组的嵌套:

unnest('{someval,otherval}'::sometype[])
    
© www.soinside.com 2019 - 2024. All rights reserved.