Re: Function problems redux

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: tony <tony(at)animaproductions(dot)com>
Cc: postgres list <pgsql-general(at)postgresql(dot)org>
Subject: Re: Function problems redux
Date: 2001-11-05 16:53:00
Message-ID: 20011105085220.Y40711-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 5 Nov 2001, tony wrote:

> Hello,
>
> Here is my function. It takes two variables a_artiste(name, forename).
>
> DECLARE
> artiste_id individu.individu_id%TYPE;
> nom ALIAS FOR $1;
> prenom ALIAS FOR $2;
> ival INTEGER := nextval('individu_serial');
> art TEXT := 'artiste';
> curr INTEGER := currval('individu_serial');
> BEGIN
> SELECT INTO artiste_id * FROM individu WHERE to_ascii(nom) ILIKE
> to_ascii(individu.nom) AND to_ascii(prenom) ILIKE
> to_ascii(individu.prenom) AND type ILIKE 'collection' OR type2 ILIKE
> 'artiste';
> IF NOT FOUND THEN
> INSERT INTO individu (individu_id,nom,prenom,type2) VALUES (ival, nom,
> prenom, art)
> RETURN curr;
> END IF;
> RETURN artiste_id;
> END;
>
> ERROR: parser: parse error at or near "return"
> DEBUG: Last error occured while executing PL/pgSQL function a_artiste
> DEBUG: line 11 at SQL statement
>
> This works just fine for known artists but my IF NOT FOUND clause is
> seriously broken

Don't you need a semicolon at the end of that insert into line in the
if not found?

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Stephan Szabo 2001-11-05 16:56:57 Re: Referring a table in another database
Previous Message Gabriel Fernandez 2001-11-05 16:52:02 Problems of precision with float8 type