Requete INSERT INTO (SELECT
Bonjour,
je suis en train de develloper un trigger dans lequel d'abord je vais récuperer le nom de la table A dans une autre table B et ensuite j'essaie de faire un INSERT INTO A mais ce la ne fonctionne pas.
Voici mon code:
Code:
1 2 3 4 5
| CREATE TRIGGER INSERT_NOTICIASPR AFTER INSERT ON NOTICIASPR FOR EACH ROW
BEGIN
SELECT CNOM AS t_merge_correspondant FROM NOTICIASREF WHERE (NEW.DFECHA > DDEB AND NEW.DFECHA < DFIN);
INSERT INTO t_merge_correspondant SELECT * FROM NOTICIASPR WHERE NCOMUNICADOPRID=NEW.NCOMUNICADOPRID;
END; |
Ma question se résume donc a
"Peux t on faire un INSERT INTO (SELECT....) SELECT * FROM...."
Merci d'avance pour votre aide
merci, mais marche tjrs pas
Merci pour ta reponse rapide je viens de modifier le code, ca ne fonctionne toujours pas a moins que j ai une erreur dans mon code, le pense que le probleme est t_merge_correspondant est la retour d'un SELECT et c'est considéré comme un tableau a une valeur certes mais un tableau quand meme.
De ce fait un INSERT INTO tableau ca bug.
Une solution????
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| CREATE TRIGGER INSERT_NOTICIASPR AFTER INSERT ON NOTICIASPR FOR EACH ROW
BEGIN
SELECT CNOM AS t_merge_correspondant FROM NOTICIASREF WHERE (NEW.DFECHA > DDEB AND NEW.DFECHA < DFIN);
SET @requete := CONCAT('INSERT INTO ',
t_merge correspondant,
' SELECT * FROM NOTICIASPR WHERE NCOMUNICADOPRID=NEW.NCOMUNICADOPRID;');
PREPARE requete FROM @requete;
EXECUTE requete;
DEALLOCATE PREPARE requete;
END; |