使用Postgres中存储过程的输出创建一个临时表



我想要一个查询来创建一个带有postgres中存储过程函数的表的表。

SQL:

CREATE TEMP TABLE new_project AS select project_insert('1','test2343','tew3234','ccc',1);

错误:

ERROR:  42P16: column "projects_insert" has pseudo-type record
LOCATION:  CheckAttributeType, heap.c:513

注意: project_insert是一个插入值并返回插入值

的函数

问题是project_insert已使用RETURNS record声明,而该类型对于列定义是非法的。

您必须在查询中指定结果列的名称和类型,例如:

CREATE TEMP TABLE new_project AS
   SELECT x, y, z
   FROM project_insert('1','test2343','tew3234','ccc',1)
        AS p(x integer, y text, z bytea);

用适当的名称和类型替换名称和类型。

有关详细信息,请参见文档。

最新更新