我正在尝试在 PostgreSQL 9.0 中编写一个函数。这最终将用于一个新的聚合函数,但一次一步。这是我到目前为止所拥有的:
create or replace function encstate(text,text) returns text as $$
DECLARE
oldstate alias for $1;
arg alias for $2;
BEGIN
IF length(oldstate)>0 then
select 'Encrypted';
else if
select '';
end if;
END;
$$ language sql strict immutable;
(我知道我还没有使用 $2 参数。)
结果是:
ERROR: syntax error at or near "alias"
LINE 3: oldstate alias for $1;
当我删除DECLARE
块并仅在正文中将参数称为 $1 等时,结果是:
ERROR: syntax error at or near "if"
LINE 3: if length($1)>0 then
据我所知,我所拥有的与网上找到的示例相匹配,除了我找不到带有 if 语句的函数示例,所以我不知道我做错了什么。任何帮助,将不胜感激。