【问题标题】:Postgres 9.2 select star into an arrayPostgres 9.2 选择星进入数组
【发布时间】:2015-08-13 00:07:04
【问题描述】:
我想在存储过程中做这样的事情,这样我就可以看到插入语句的结果以进行调试:
thing := array_to_string(ARRAY(select * from some_table limit 1 ));
raise info 'insert result: %',thing;
some_table 的所有列都连接到一个数组中
有没有办法做到这一点?
【问题讨论】:
标签:
debugging
select
row
postgresql-9.2
stringification
【解决方案1】:
数组是统一类型的。您不能有一个数组,其中不同的条目具有不同的数据类型。
您似乎想要的是匿名行(记录)。
DECLARE
debug_row record;
BEGIN
SELECT * FROM some_table LIMIT 1 INTO debug_row;
RAISE INFO 'insert result: %',debug_row;
请注意,这仅适用于单行结果。对于多行,您可以调用查询作为循环的输入并迭代结果。 PL/PgSQL 文档中有示例。