postgresql创建函数

时间:2018-05-31 10:02:05

标签: postgresql function

此功能有什么问题。它给出错误“返回时语法错误”

create function total (number1 integer, number2 integer, number3 integer) 
returns integer as $$
begin
    return number1 + number2 + number3;
end
$$
language sql

2 个答案:

答案 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函数更有效。