此功能有什么问题。它给出错误“返回时语法错误”
create function total (number1 integer, number2 integer, number3 integer)
returns integer as $$
begin
return number1 + number2 + number3;
end
$$
language sql
答案 0 :(得分:2)
您需要更改语言:
create function total (number1 integer, number2 integer, number3 integer)
returns integer as
$$
begin
return number1 + number2 + number3;
end;
$$
language plpgsql --here
<强> DBFiddle Demo 强>
答案 1 :(得分:1)
您正在将PL / pgSQL语法与SQL语法混合使用。 SQL函数没有return
部分,而是使用select
并删除begin ... end
块:
create function total (number1 integer, number2 integer, number3 integer)
returns integer
as
$$
select number1 + number2 + number3;
$$
language sql;
对于像这样的简单表达式,SQL函数比PL / pgSQL函数更有效。