Postgres 9.2 select 星入数组

Postgres 9.2 select star into an array

我想在存储过程中做这样的事情,这样我就可以看到用于调试的插入语句的结果:

thing := array_to_string(ARRAY(select * from some_table limit 1 ));
raise info 'insert result: %',thing;

some_table 的所有列连接成一个数组

有办法吗?

数组是统一类型的。您不能拥有不同条目具有不同数据类型的数组。

您似乎想要的是一个匿名行(记录)。

DECLARE
    debug_row record;
BEGIN
    SELECT * FROM some_table LIMIT 1 INTO debug_row;
    RAISE INFO 'insert result: %',debug_row;

请注意,这仅适用于单行结果。对于多行,您可以调用查询作为循环的输入并迭代结果。 PL/PgSQL 文档中有示例。