执行INTO以接受NULL值

时间:2017-07-11 16:02:42

标签: postgresql insert plpgsql execute

我在互联网上搜索过,无法找到任何有关如何使用EXECUTE INTO的信息或示例,包括何时只能返回任何内容。

我收到错误

EXECUTE的查询字符串参数为空

我尝试过使用IF EXISTS() 创建一个包含计数和一大堆东西的陈述。在这一点上,我觉得我是在圈子里四处走动。令人沮丧!

这样做有默认方法吗?

1 个答案:

答案 0 :(得分:1)

此处execute format('select 1 where false') into t不会放任何内容,因此稍后会execute t提供

  

错误:EXECUTE的查询字符串参数为空

如此简单的合并将有所帮助:

t=# do $$
declare t text;
begin
execute format('select 1 where %L',false) into t;
execute coalesce(t,'select now()') into t;
raise '%',t;
end;
$$
;
ERROR:  2017-07-11 16:11:03.149521+00
Time: 0.349 ms