レポート目的で使用するデータセットから 4 つの特定の列を分析し、レコードを特定のテキストで分類するテキストを返す関数を Postgres 8.2 で作成しようとしています。
以前のレポート環境では、レポート ツール (Crystal Reports) を利用してこれを計算していましたが、データベース内の機能として実行する必要があるという指示がありました。
これが私がやろうとしていることの例です(エラーを許してください、私はまだ基本を学んでいます)
CREATE FUNCTION fnc_Breakdown(character varying, character varying, character varying, character varying)
RETURNS character varying AS $$
DECLARE
breakdown character varying;
BEGIN
IF $1 in ('ABCD') THEN breakdown:= "CSS"
ELSE
IF $1 like ('DCA%) AND $2 IN ('District 123','District 124') and $3 IN ('
THEN breakdown:= "FAB"
ELSE breakdown:= "OTHERS"
END IF;
RETURN breakdown;
END;
$$ LANGUAGE plpgsql IMMUTABLE;