Convertir une chaine de caratères en champ
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
Subject
Views
Written By
Posted
Convertir une chaine de caratères en champ
6947
June 26, 2008 02:36AM
4034
July 02, 2008 07:14AM
3990
July 08, 2008 03:19PM
3826
July 09, 2008 07:52AM
4191
April 18, 2009 02:58PM
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.