MySQL Forums
Forum List  »  French

Convertir une chaine de caratères en champ
Posted by: Charles-Antoine Dolbeau
Date: June 26, 2008 02:36AM

Salut,

J'ai écrit un trigger qui copie certaines valeurs de la nouvelle ligne vers une autre table. Voici le code:

DROP TRIGGER revues_d;
CREATE TRIGGER revues_d AFTER INSERT ON `revues_doc`
FOR EACH ROW
BEGIN
DECLARE l_loop_end INT default 0;
DECLARE indic char(20);
DECLARE cur_1 CURSOR FOR select `indicateur` FROM `source` WHERE `fichier`="revues";
DECLARE continue handler for sqlstate '02000' set l_loop_end = 1;

open cur_1;
repeat
fetch cur_1 into indic;
if not l_loop_end then
INSERT INTO `mesures`
SETt `num_projet`= (SELECT `id_projet` FROM `projet` WHERE `projet`.`nom_projet`=NEW.`nom_projet`),
`annee`="2008",
`mesures`.`indicateur`=indic,
`valeur_int`= NEW.indic,
`valeur_text`="",
`valeur_float`=0;
end if;
until l_loop_end end repeat;
close cur_1;
end;

La table source contient la liste des champs à copier de la table revues_doc à la table mesures. Le problème c'est que lorsque je veux accéder au champ avec le NEW.[NomDuChamp], indic est considéré comme une chaine de caractère et non pas comme le nom du champ.

Merci d'avance,

Charles-Antoine

Options: ReplyQuote


Subject
Views
Written By
Posted
Convertir une chaine de caratères en champ
6947
June 26, 2008 02:36AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.