Re: Function problems redux - Mailing list pgsql-general

From Stephan Szabo
Subject Re: Function problems redux
Date
Msg-id 20011105085220.Y40711-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Function problems redux  (tony <tony@animaproductions.com>)
List 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?


pgsql-general by date:

Previous
From: "daddy2times"
Date:
Subject: pgcrypto: 2 questions
Next
From: "Kenneth Skiles"
Date:
Subject: functions, shell script