From: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au> |
---|---|
To: | Dan Schwitalla <acadrace(at)hotmail(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: PL/PGSQL question on transactions |
Date: | 2002-04-12 15:58:19 |
Message-ID: | 20020412235806.Q91940-100000@houston.familyhealth.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
No - a function implicity runs in a transaction anyway.
Chris
On Fri, 12 Apr 2002, Dan Schwitalla wrote:
> Can you imbed BEGIN; and COMMIT; statements in the body of a pl/pgsql
> function?
>
> I am getting a parse error upon execution when I try it.
>
> Code:
>
> CREATE FUNCTION chitadj(integer,integer) RETURNS integer AS '
> DECLARE
> result integer;
> oldamount integer;
> BEGIN
> BEGIN;
> SELECT INTO oldamount chits FROM avatar
> WHERE avatar_id = $1;
>
> IF oldamount IS NULL THEN
> RETURN -1;
> END IF;
>
> IF ((oldamount < abs($2)) AND ($2 < 0)) THEN
> RETURN -2;
> END IF;
>
> result := oldamount + $2;
> RETURN result;
> COMMIT;
> END;
> ' language 'plpgsql';
>
>
>
> -------------------------
> Dan
>
> _________________________________________________________________
> Join the worlds largest e-mail service with MSN Hotmail.
> http://www.hotmail.com
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2002-04-12 16:24:33 | Re: Functions in Postgres |
Previous Message | Dan Schwitalla | 2002-04-12 15:50:01 | PL/PGSQL question on transactions |