cs_sim51
Messages postés240Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention31 décembre 2006
-
15 août 2005 à 20:17
cs_sim51
Messages postés240Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention31 décembre 2006
-
16 août 2005 à 00:22
Bonjour ,
J' ai un petit problème avec une fonction pour un trigger et la
fonction count. En effet lorsque le trigger se déclanche, j'ai une
erreur qui survient près de mon premier argument ( qui est noposte )
dans mon select, et je ne comprend pas pourquoi.
Voici mon code :
REATE OR REPLACE FUNCTION gen_clef_posteoqp()
RETURNS "trigger" AS
$BODY$
DECLARE
identifiant varchar(20);
noposte integer;
BEGIN
identifiant:=NEW.login;
SELECT COUNT(id_poste_occupe) AS noposte FROM poste_occupe WHERE login=identifiant;
IF noposte ISNULL THEN
noposte:=0;
END IF;
NEW.id_poste_occupe:=identifiant||noposte;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Merci pour votre aide.
PS: j'utilise postgresql
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
cs_sim51
Messages postés240Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention31 décembre 20062 16 août 2005 à 00:22
Re,
Avec un peu plus de percévérence j'ai fini par trouvé, postgresql
n'aime pas trop les AS mais préfère les into, et oui faut le savoir,
donc voici le code :
CREATE OR REPLACE FUNCTION gen_clef_posteOQP() RETURNS "trigger" AS
$BODY$
DECLARE
identifiant varchar(20);
noposte integer;
BEGIN
identifiant:=NEW.login;
SELECT INTO noposte COUNT(*) FROM poste_occupe WHERE login=identifiant;
IF noposte ISNULL THEN
noposte:=0;
END IF;
NEW.id_poste_occupe:=identifiant||noposte;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!