Triggers et mots NEW et OLD
Résolu
pcsystemd
Messages postés
702
Date d'inscription
Statut
Membre
Dernière intervention
-
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je dois crée un trigger qui se déclenchera lors d' INSERT OU d' UPDATE dans ma BD principale et qui va proceder aux INSERT OU UPDATE fait dans ma BD principale, dans ma seconde BD . Pour la synthase de base c'est ok :
Deux questions :
-J'ai lu la doc Mysql sur NEW et OLD mais je ne comprends pas la façon d'utiliser. Voici le paragraphe de la doc :
Cependant, dans la commande d'activation d'un déclencheur, vous pouvez faire référence aux colonnes dan la table associée au déclencheur en utilisant les mots OLD et NEW. OLD.col_name faire référence à une colonne d'une ligne existante avant sa modification ou son effacement. NEW.col_name faire référence à une colonne d'une ligne après insertion ou modification.
-Est il possible qu'un trigger se déclenche uniquement après tous les INSERT et UPDATE de la BD ou bien doit il se déclencher a chaque insert et a chaque update?
Merci pour votre aide.
je dois crée un trigger qui se déclenchera lors d' INSERT OU d' UPDATE dans ma BD principale et qui va proceder aux INSERT OU UPDATE fait dans ma BD principale, dans ma seconde BD . Pour la synthase de base c'est ok :
delimiter $$ CREATE TRIGGER nom_trigger AFTER INSERT ON ma_bd_principale FOR EACH ROW BEGIN END$$
Deux questions :
-J'ai lu la doc Mysql sur NEW et OLD mais je ne comprends pas la façon d'utiliser. Voici le paragraphe de la doc :
Cependant, dans la commande d'activation d'un déclencheur, vous pouvez faire référence aux colonnes dan la table associée au déclencheur en utilisant les mots OLD et NEW. OLD.col_name faire référence à une colonne d'une ligne existante avant sa modification ou son effacement. NEW.col_name faire référence à une colonne d'une ligne après insertion ou modification.
-Est il possible qu'un trigger se déclenche uniquement après tous les INSERT et UPDATE de la BD ou bien doit il se déclencher a chaque insert et a chaque update?
Merci pour votre aide.
A voir également:
- Triggers et mots NEW et OLD
- Identifiant et mot de passe - Guide
- Windows old - Guide
- Mots de passe et trousseau icloud - Guide
- Vidmate old - Télécharger - TV & Vidéo
- Chercheur de mots - Télécharger - Études & Formations
4 réponses
un trigger est rattaché à une table et une seule,
cela signifie que ton trigger se declenchera a l'insert ou l'update sur une seule table que tu auras spécifié dans ton trigger.
les directive NEW et OLD te permette d'avoir les 2 valeurs lors d'un update.
NEW correspondant à la valeur qui a été inséré lors de l'instruction et OLD celle qui figurait dans l'enregistrement avant l'execution de l'instruction.
Ainsi lors de ton trigger tu peut faire des comparaison de changement d'état (si OLD = false et que new = true) alors peut-être que tu as besoin de faire des modifications sur d'autres tables pour une raison quelconque.
si tu es joueur, imagine dans un jeu ou ton personnage augmente de niveau et passe un niveau au hasard : 21 et bien peut-être qu'au niveau 21 ton personnage acquiera un nouveau sort. Eh bien, dans ce cas je pense que ton trigger peut aller modifier un enregistrement d'une autre table afin de t'autoriser l'utilisation de ce nouveau sort.
En espérant avoir pu t'aider;
cela signifie que ton trigger se declenchera a l'insert ou l'update sur une seule table que tu auras spécifié dans ton trigger.
les directive NEW et OLD te permette d'avoir les 2 valeurs lors d'un update.
NEW correspondant à la valeur qui a été inséré lors de l'instruction et OLD celle qui figurait dans l'enregistrement avant l'execution de l'instruction.
Ainsi lors de ton trigger tu peut faire des comparaison de changement d'état (si OLD = false et que new = true) alors peut-être que tu as besoin de faire des modifications sur d'autres tables pour une raison quelconque.
si tu es joueur, imagine dans un jeu ou ton personnage augmente de niveau et passe un niveau au hasard : 21 et bien peut-être qu'au niveau 21 ton personnage acquiera un nouveau sort. Eh bien, dans ce cas je pense que ton trigger peut aller modifier un enregistrement d'une autre table afin de t'autoriser l'utilisation de ce nouveau sort.
En espérant avoir pu t'aider;
Merci pour ton explication qui m'a un peu plus éclairci l'utilisation de NEW et OLD même si cela reste encore flou quand a l'utilisation mais je continue a creuser
Merci encore
Merci encore
Bon je suis un peu paumé .Voila je récapitule : J'ai deux tables table1 et table2 avec les champs suivants :
Les correspondances entre les deux tables sont :
id = ref_pers
login = user
pass = passwd
mail = email
Comment dois je m'y prendre pour que dès qu'il y a un INSERT ou un UPDATE dans la table1 le trigger se declenche et fasses les INSERT ou UPDATE dans la table2?
Merci pour votre aide.
table1 id login pass mail table2 ref_pers user passwd email
Les correspondances entre les deux tables sont :
id = ref_pers
login = user
pass = passwd
mail = email
Comment dois je m'y prendre pour que dès qu'il y a un INSERT ou un UPDATE dans la table1 le trigger se declenche et fasses les INSERT ou UPDATE dans la table2?
Merci pour votre aide.