PostgreSQL 9.0 で関数を作成しようとしています。これは最終的に新しい集計関数で使用されますが、一度に 1 ステップずつ使用されます。これが私がこれまでに持っているものです:
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 ステートメントを含む関数の例が見つからないことを除けば、何が間違っているのかわかりません。どんな助けでも大歓迎です。