IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Trigger Mysql Insertion/Update


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Trigger Mysql Insertion/Update
    Bonjour,
    J'aimerai faire un trigger sur deux tables. Si je fais une insertion dans la table T1, je modife la valeur d'une colonne de la table T2.
    Voici ce que j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TRIGGER ajouter AFTER INSERT 
    ON T1 FOR EACH ROW 
    BEGIN UPDATE T2 
    SET total = ( SELECT COUNT(total)
    FROM T2
    WHERE T2.id = NEW.T2.id GROUP BY T2.id ) 
    WHERE id = NEW.T2.id; 
    END
    Merci,
    Angela

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 776
    Points
    30 776
    Par défaut
    Et quel est ton problème ?
    Une erreur de compilation ? Laquelle ?
    Une erreur à l'exécution ? Laquelle ?
    Un comportement erroné ? Donne nous un exmple de ce que tu obtiens et de ce que tu attendais.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 377
    Points : 19 048
    Points
    19 048
    Par défaut
    Salut à tous.

    Comme son nom l'indique, un déclencheur (trigger) se déclenche lors d'une insertion.
    Dans votre exemple, vous récupérez l'identifiant qui vient d'être inséré dans la table 't1'.
    Cela se traduit par "NEW.id". Donc pourquoi faire référence à ceci : "NEW.T2.ID" ?
    Cela ne peut pas fonctionner correctement car le NEW est obligatoirement associé à la table 'T1'.
    C'est-à-dire à la table sur laquelle repose le déclencheur.

    D'autre part, vous désirez modifier la table 'T2' à partir d'elle même.
    Cela ne peut pas fonctionner correctement, car vous faites référence à la même colonne, qui sert à la mise à jour et au calcul.
    Je pense que vous n'avez pas bien compris ce que vous essayez de faire.

    Il serait intéressant de nous communiquer le descriptif de la table 'T1' et 'T2' et ce que vous essayez de faire.

    C'est idiot de stocker le nombre de lignes dans votre table 'T2' à chaque nouvelle insertion.
    Le mieux est d'utiliser un 'view' pour vous donner ce résultat.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Merci
    Merci pour vos réponses, je vais essayer de figurer encore tout ça.

Discussions similaires

  1. [2012] Trigger For Insert Update
    Par rvzip64 dans le forum Développement
    Réponses: 2
    Dernier message: 21/07/2015, 10h36
  2. Trigger simple INSERT/UPDATE
    Par castorcharly dans le forum Développement
    Réponses: 6
    Dernier message: 12/11/2010, 14h54
  3. Trigger d'insertion et d'update
    Par Shiva dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 01/01/2007, 14h32
  4. [trigger] insert update et delete
    Par kooljy dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 13/07/2006, 08h56
  5. TRIGGER avec inserted + UPDATE sur INSERTED
    Par shaka84 dans le forum Développement
    Réponses: 3
    Dernier message: 12/04/2006, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo