我正在尝试在 Postgres 8.2 中编写一个函数,它将分析我们用于报告目的的数据集中的 4 个特定列,然后返回用特定文本对记录进行分类的文本。
在我们旧的报告环境中,我会利用报告工具(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;