我正在尝试使用以下查询在PostgreSQL中创建一个函数:
create function cs.has_double_bridge(cs.nose_bridge_type) returns boolean as $$
return $1 = 'double bridge';
$$ language plpgsql stable;
但是我在第二行中仍然遇到错误:
ERROR: syntax error at or near "return"
LINE 2: return $1 = 'keyhole';
^
我不是PostgreSQL专家,所以我一直无法弄清错误的原因。我在这里做什么错了?
答案 0 :(得分:1)
As documented in the manual PL / pgSQL需要一个BEGIN ... END
块:
create function cs.has_double_bridge(cs.nose_bridge_type)
returns boolean
as $$
begin
return $1 = 'double bridge';
end;
$$ language plpgsql stable;
或者,您可以改用SQL函数:
create function cs.has_double_bridge(cs.nose_bridge_type)
returns boolean
as $$
select $1 = 'double bridge';
$$ language sql stable;