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

Développement SQL Server Discussion :

Update dans Trigger


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 90
    Points : 77
    Points
    77
    Par défaut Update dans Trigger
    Salut à tous,

    Je travaille sur une base de donnée SQL Server 2000 d'un logiciel de gestion et j'aimerai calculer mon propre Total pour mes lignes de commande.
    J'ai crée mon trigger sur l'update et lorsque j'essaye d'exécuter un update sur un champs j'ai le message suivant :
    Le niveau maximal d'imbrication des procédures stockées, des fonctions, des déclencheurs ou des vues est dépassé (limite 32).

    Je pense (je suis même persuadé) que celà provient du fait que je fait un Update de ma table dans mon Trigger. Voici un extrait du trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TRIGGER TG_UPD_Promo ON [dbo].[LIGNE] FOR UPDATE AS
     
    ... Différents calcul de promo et de remise simple...
    	-- On met à jour nos infos
    	UPDATE LIGNE SET PU_NET=@PU, MontantHT=@HT, MontantTTC=@TTC WHERE cbMarq = @cbMarq
    END

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 90
    Points : 77
    Points
    77
    Par défaut Nested Level
    J'ai trouvé la solution à mon pb :
    En fait le fait de faire un Update sur ma table executer de nouveau mon Trigger qui l'executer qui l'executer etc... Donc vous l'avez compris, il s'agissez d'un problème de récursivité !

    Pour éviter ce problème j'ai donc ajouter ceci à mon trigger :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IF (SELECT TRIGGER_NESTLEVEL()) < 2
    BEGIN
    ... code de mon trigger...
    END

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Tu as oublié le Tag RESOLU alors?

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Juin 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Back-End
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 1
    Points : 2
    Points
    2
    Par défaut MERCI!
    Citation Envoyé par Te-Deum Voir le message
    J'ai trouvé la solution à mon pb :
    En fait le fait de faire un Update sur ma table executer de nouveau mon Trigger qui l'executer qui l'executer etc... Donc vous l'avez compris, il s'agissez d'un problème de récursivité !

    Pour éviter ce problème j'ai donc ajouter ceci à mon trigger :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IF (SELECT TRIGGER_NESTLEVEL()) < 2
    BEGIN
    ... code de mon trigger...
    END

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TRIGGER] UPDATE(champ) dans trigger update multiligne
    Par gilder89 dans le forum Développement
    Réponses: 3
    Dernier message: 19/09/2007, 12h59
  2. [Declencheur] Update dans trigger Insert
    Par gilder89 dans le forum Développement
    Réponses: 2
    Dernier message: 25/05/2007, 11h30
  3. Liste des colonnes "updatées" dans un Trigger
    Par rapha51 dans le forum Oracle
    Réponses: 3
    Dernier message: 09/03/2007, 18h47
  4. problème d'update dans une fonction trigger (before)
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/09/2006, 18h08
  5. UPDATE dans un TRIGGER
    Par exempleinfo dans le forum Oracle
    Réponses: 2
    Dernier message: 18/03/2006, 12h33

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