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 :

Problème trigger update


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique (Débutant)
    Inscrit en
    Avril 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique (Débutant)
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 45
    Par défaut Problème trigger update
    Bonjour,

    J'ai un problème un peu similaire mais c'est différent car j'utilise une procédure stockée et un trigger, j'explique mon cas :
    Ma procédure me permet d'ajouter une ligne dans ma table Reservation, et mon trigger me permet d'incrementer le champ Reservation de ma table Reference à chaque ajout d'une ligne dans la table Reservation.
    Mais cela ne fonctionne pas il me renvoi l'erreur :
    "Can't update table 'reference' in stored function/trigger becaused by statement which invoked this stored function/trigger."
    Je pense que cette erreur survient lorsque je souhaite ajouter ma ligne car je demande le champ Reservation de la table Reference comme nouvel ID de ma nouvelle ligne.. non ?

    Code Procédure :

    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
    USE HOTEL;
     
    DROP PROCEDURE IF EXISTS ReservationAjout;
     
    CREATE PROCEDURE ReservationAjout (IN IDReservation int, IN IDClient int, IN IDChambre int, IN DateDebut date, IN DateFin date, OUT RetourVal int)
    BEGIN
     
    IF IDReservation = 0 Then
      INSERT INTO Reservation (IDReservation , IDClient, IDChambre, DateDebut, DateFin) VALUES ((select Reservation from reference), IDClient, IDChambre, DateDebut, DateFin);
    ELSE
      INSERT INTO Reservation (IDReservation, IDClient, IDChambre, DateDebut, DateFin) VALUES (IDReservation, IDClient, IDChambre, DateDebut, DateFin);
    END IF;
     
    SET RetourVal = LAST_INSERT_ID();
     
    END;

    Code Trigger :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TRIGGER `hotel`.`TrigReservation` AFTER INSERT 
        ON hotel.reservation FOR EACH ROW
    BEGIN
        UPDATE Reference SET Reference.Reservation=Reference.Reservation+1;
    END;

    Si quelqu'un pouvait m'aider ?
    Si vous n'avez pas compris qqchose dite le moi

    Merci beaucoup.

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Bonjour,

    C'est cela, dans le trigger tu UPDATE réservation alors que la procédure est en train de lire (et/ou d’écrire) dedans.

Discussions similaires

  1. Problème de trigger Update
    Par ahmedtabarka dans le forum PL/SQL
    Réponses: 2
    Dernier message: 21/05/2012, 09h55
  2. Problème d'update après l'ajout d'un trigger
    Par scofild20 dans le forum PL/SQL
    Réponses: 9
    Dernier message: 09/09/2008, 19h16
  3. problème d'update dans une fonction trigger (before)
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/09/2006, 17h08
  4. problème pour updater une BD
    Par yoda_style dans le forum ASP
    Réponses: 6
    Dernier message: 17/03/2005, 10h56
  5. Trigger Update et Column_Updated
    Par Pm dans le forum Développement
    Réponses: 2
    Dernier message: 16/06/2004, 09h07

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