获取用户定义的SQL语句的结果(如果有)

获取用户定义的SQL语句的结果(如果有),sql,postgresql,Sql,Postgresql,我希望得到一个用户定义查询的结果,该查询可能返回值,也可能不返回值 我已经找到了如何让它与SELECT和INSERT一起工作的方法。。。正在返回,但我不希望它在只插入时中断 这是我的密码: WITH result AS (insert into users("name", age) values('drew', 42)) select row_to_json(row) from result as row; 这是用户定义的查询: WITH result AS ($USER_DEFINED_QU

我希望得到一个用户定义查询的结果,该查询可能返回值,也可能不返回值

我已经找到了如何让它与
SELECT
INSERT一起工作的方法。。。正在返回
,但我不希望它在只插入时中断

这是我的密码:

WITH result AS (insert into users("name", age) values('drew', 42))
select row_to_json(row) from result as row;
这是用户定义的查询:

WITH result AS ($USER_DEFINED_QUERY$)
select row_to_json(row) from result as row;
但如果插入时没有返回,则会出现以下错误:

ERROR:  WITH query "result" does not have a RETURNING clause
LINE 2: select * from result;
                      ^
我正在寻找一种方法来忽略这个错误

谢谢

需要返回(您丢失了)

这是你问题的答案

WITH result AS (insert into users("name", age) values('drew', 42)
returning name,age)
select row_to_json(row) from result as row;

请不要重新创建问题。如果你对你的问题有了新的看法,就扩展原来的观点。