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 SQL [Débutant(e)]


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Par défaut Trigger SQL
    Bonjour, je suis débutante en trigger et procédure stockée, et dans le cadre de mon projet je dois certainement en créer un.
    L'utilisateur doit importer directement un fichier txt dans MySql qui sera stocké dans la table intermédiaire "table_int", suite à cette importation, cela déclenche le trigger permettant la mis à jour de la seconde table "table_def" (construit exactement de la même manière), la mis à jour doit modifier la ligne par la nouvelle (importer) si l'id est le même, où bien insérer une nouvelle ligne si la clé primaire n'a pas était trouvé.

    Et je bloque vraiment pour la construction de ce trigger. Je ne sais pas trop comment mis prendre, en algorithme je pense ne pas être très loin de la solution, mais après je ne sais pas trop comment le mettre en SQL (parcours d'une autre table etc...)

    Voici l'algo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    CREATE TRIGGER maj_donnees AFTER INSERT
    ON table_int
    FOR EACH ROW
    DECLARE trouve BOOLEAN
    BEGIN
       ligne = "SELECT id FROM table_def";
       POUR CHAQUE ligne
          trouve = FALSE;
          SI ligne.id = NEW.id ALORS
             trouve = TRUE;
          FIN SI
       FIN POUR CHAQUE
       SI (trouve = TRUE) ALORS
          UPDATE table_def SET ch1 = NEW.val1, ch2 = NEW.val2, ch3 = NEW.val3... WHERE id = NEW.id;
       SINON
          INSERT INTO table_def (ch1, ch2, ch3...) VALUES (NEW.val1, NEW.val2, NEW.val3...);
    END |
    Donc si quelqu'un aurait la gentillesse de bien vouloir m'aider un peu , j'ai déjà regarder sur des forums et tuto à droite à gauche mais je bloque vraiment, je ne sais même pas si ce que je dois faire est possible...

    Merci d'avance !

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952

Discussions similaires

  1. Trigger SQL - Base SAGE
    Par Silvia12 dans le forum Développement
    Réponses: 9
    Dernier message: 13/12/2007, 09h47
  2. Problème Trigger SQL Server
    Par RodEpsi dans le forum Développement
    Réponses: 6
    Dernier message: 25/05/2006, 15h03
  3. JDBC et le Trigger SQL server
    Par fadex dans le forum JDBC
    Réponses: 2
    Dernier message: 01/05/2006, 23h25
  4. Attaquer une base externe à partir d'un trigger SQL Server
    Par stephpr44 dans le forum Développement
    Réponses: 5
    Dernier message: 29/10/2005, 15h40
  5. [Triggers SQL]
    Par Abdelmoumen dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/09/2005, 18h01

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