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.
From | Date | Subject | |
---|---|---|---|
Next Message | Samuel ROZE | 2008-08-31 10:01:02 | Re: ERREUR: "" is declared CONSTANT |
Previous Message | BPascal | 2008-08-27 15:50:33 | Re: [resolu]timestamp without time zone |