From: | Gaetano Mendola <mendola(at)bigfoot(dot)com> |
---|---|
To: | Christian Armeanu <chris(at)vote4ad(dot)com> |
Subject: | Re: Using PERFORM in plpgsql throws compile errors |
Date: | 2004-09-27 23:17:49 |
Message-ID: | 41589F9D.7010103@bigfoot.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Christian Armeanu wrote:
> Hi,
>
> I am trying to create a really simple pl/pgsql based function to simply
> return true or false depending on a query result ...
>
> As I do not need the query result row, I want to use PERFORM to dump the
> resulting data ... So, here's my attempt:
>
> CREATE OR REPLACE FUNCTION islicensed(int8, int8) RETURNS bool AS '
> DECLARE
> pID ALIAS FOR $1;
> aID ALIAS FOR $2;
> BEGIN
> PERFORM SELECT * FROM transactions x INNER JOIN tx_items i ON(x.id =
> i.tx_id) where i.archive_id=aID and x.status=\'valid\' and x.person_id=pID;
> RETURN FOUND;
> END;
> ' LANGUAGE 'plpgsql';
>
>
> However, even so the creation statement succeeds, any attempt to call
> this function throws a compilation error:
>
> ERROR: syntax error at or near "SELECT" at character 9
> CONTEXT: PL/pgSQL function "islicensed" line 5 at perform
>
> Why this? As I understand the docs, this is how it should work!?!
>
> Any help is highly appreciated.
>
> Oh, PostgreSQL 7.4.1 running on RH Linux ES 3.0 (not from RH rpm, but
> compiled from sources) ...
Remove the SELECT on the PERFORM statement:
PERFORM * FROM ....
Regards
Gaetano Mendola
From | Date | Subject | |
---|---|---|---|
Next Message | D. Duccini | 2004-09-28 00:14:09 | date_trunc'd timestamp index possible? |
Previous Message | Mark Stosberg | 2004-09-27 18:06:09 | Re: max_connections not changing |