ERREUR: "$3" is declared CONSTANT

From: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: ERREUR: "$3" is declared CONSTANT
Date: 2008-08-31 09:48:44
Message-ID: 1220176124.6554.8.camel@samuel-laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour à tous,

J'ai crééer une fonction appelée "contact" dans ma base de données, qui,
quand on l'appelle, renvoi l'ID du contact avec les noms et email donnés
en paramètre. Si il n'y a pas de contact de ce nom/email, elle le créé
et retourne à nouveau l'ID.

Voici la structure de la table "contacts" :
+-----------------+
| contacts |
+-----------------+
| id SERIAL |
| nom text |
| email text |
| actif integer |
| maj timestamptz |
| _trigger integer|
+-----------------+

Le dernier champ, "_trigger" sert à dire ou non si on veut que le
trigger s'éxécute pour l'enregistrement.

Maintenant, voici le code de ma fonction "contact" :

-------------------------
CREATE OR REPLACE FUNCTION clients.contact (p_nom text, p_email text,
p_t integer) RETURNS integer AS $contact$
DECLARE
v_id integer DEFAULT 0;
BEGIN
IF (p_t != 0) THEN
p_t := 1;
END IF;
SELECT id INTO v_id FROM clients.contacts WHERE nom = p_nom AND
email = p_email LIMIT 1;
IF NOT FOUND THEN
INSERT INTO clients.contacts (nom, email, _trigger) VALUES
(p_nom, p_email, p_t);
SELECT id INTO v_id FROM clients.contacts WHERE nom = p_nom AND
email = p_email LIMIT 1;
END IF;
RETURN v_id;
END;
$contact$ language plpgsql;
-------------------------

Lorsque j'essaye de créer cette fonction, le compilateur plpgsql me sort
cette erreur :

-------------------------
5-clients-fonctions.sql:21: ERREUR: "$3" is declared CONSTANT
CONTEXT: compile of PL/pgSQL function "contact" near line 10
-------------------------

La ligne 21 correspond à la ligne où il y as la requête "INSERT" dans la
fonction "contact".

Auriez-vous une idée sur le pourquoi de cette erreur ?

Merci d'avance !
Cordialement, Samuel ROZE.

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Samuel ROZE 2008-08-31 10:01:02 Re: ERREUR: "$3" is declared CONSTANT
Previous Message BPascal 2008-08-27 15:50:33 Re: [resolu]timestamp without time zone