错误:“coalesce”不是 INTO 子句中的已知变量

big*_*iff 2 sql postgresql select select-into postgresql-9.2

以下是我的示例函数

create or replace function samp(in a int) returns int as
$$
declare 
val int;
val1 int;
begin
select coalesce(a-1,1) into val,coalesce(a-2,1) into val1;
return val + val1;
end;
$$
language plpgsql 
Run Code Online (Sandbox Code Playgroud)

执行时出现以下错误

错误:“coalesce”不是已知变量第 7 行:选择 coalesce(a-1,1) into val,coalesce(a-2,1) into val1;

Mur*_*nik 5

您的语法错误 -into是适用于所有变量的单个子句,而不是应应用于每个变量的关键字:

SELECT coalesce(a-1,1), coalesce(a-2,1)
INTO   val, val1;
Run Code Online (Sandbox Code Playgroud)

  • @CraigRinger 我很确定你不能。它应该是一个单一的“INTO”子句。您确实可以有多个目标,每个选择列表项一个。 (2认同)