From: | Johan Wehtje <joweht(at)tpgi(dot)com(dot)au> |
---|---|
To: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Why is this function wrong |
Date: | 2005-10-24 16:27:44 |
Message-ID: | 435D0B80.8040409@tpgi.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
This is probably obvious but I am not seeing what is going wrong with
this function definition:
CREATE OR REPLACE FUNCTION "public"."cproc_hli" (bgtemp NUMERIC,
humidity NUMERIC, wspeed NUMERIC) RETURNS NUMERIC AS
IF ($1 < 25)
THEN
SELECT (10.66 * (0.28 * $2)+(1.3 * $1) - $3)
ELSE
SELECT (8.62 * (0.38 * $2) + (1.55 * $1) - (0.5 * $3) + (exp(- $3 + 2.4)))
END IF
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
ERROR: syntax error at or near "IF" at character 119
LINE 2: IF ($1 < 25)
I have tried with dollar quoting around the function body, changing the
maguage to sql and using CASE ... WHEN instead of IF , tried Brackets
and no brackets around the Boolean expression.. and a number of other
variations, as well as rereading the Documentation.
I have also tried not having aliases/names for the arguments.
In every case I always get the syntax error directly after "AS".
Can somebody point what is probably obvious.
Cheers
Johan Wehtje
From | Date | Subject | |
---|---|---|---|
Next Message | Marc Munro | 2005-10-24 16:35:55 | Re: [pgsql-general] Daily digest v1.5657 (16 messages) |
Previous Message | codeWarrior | 2005-10-24 16:15:55 | Re: is there a function which elminates spaces? |