1
我想在Postgres 8.2中編寫一個函數,它將分析我們用於報告目的的數據集中的4個特定列,然後返回用特定文本對記錄進行分類的文本。在Postgresql中編寫函數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;
什麼問題? – glenatron
除了沒有真正告訴我們你的問題是什麼,你沒有包括有效的語法(它看起來像是在''DCA%''後面忘記了一個結束撇號,'$ 3 IN(''似乎缺少一些代碼)。修復並重新提交至少需要編譯的源代碼。還要注意,您使用的PostgreSQL版本自2011年以來一直不受支持:http://www.postgresql.org/support/versioning/您應該儘快安排升級。 – kgrittn