我有一个函数接受两个参数,从表中返回一些数据。希望将返回的行插入另一个函数中的临时表(结构与函数输出相同)。
像这样试过:
CREATE TEMP TABLE tmp1 (col1 int, col2 int) ON COMMIT DROP;
WITH x as (select function_name(p1, p2))
insert into tmp1 select * from x;
函数
RETURNS TABLE(val1 integer, val2 integer)
选择不起作用。
ERROR: column "col1" is of type integer but expression is of type record
HINT: You will need to rewrite or cast the expression.
我该怎么办?
最佳答案
这边呢?..
insert into tmp1 select * from function_name(p1, p2);