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

MS SQL Server Discussion :

Incrémentation Variable


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Incrémentation Variable
    Je fais un trigger et dans ce trigger j'incrémente une variable.
    Le trigger n'est pas forcément juste mais je m'en fous a moins que ceci joue sur l'incrémentation de la variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE Trigger  COMMERCIAL on ENTETE For update,insert
    as
    Declare @DEPT varchar(2),@com varchar(100),@COMPTEUR int
    SET @COMPTEUR=0
    IF(@compteur<=(Select count(LIVRAISON.LI_No) FROM LIVRAISON))
    BEGIN
    SELECT     @DEPT=SUBSTRING(LIVRAISON.LI_CodePostal, 1, 2), @Com=ENTETE.Commerc
    FROM         LIVRAISON INNER JOIN
                          ENTETE ON LIVRAISON.LI_No = ENTETE.LI_No
    Update ENTETE Set Commerc=@DEPT from inserted Where  ENTETE.LI_No =inserted.LI_No AND @DEPT<>  ENTETE.Commerc
    @COMPTEUR = @COMPTEUR + 1
    END

  2. #2
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Février 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 126
    Points : 127
    Points
    127
    Par défaut
    Tu fais un :
    @COMTPEUR est forcement = 0 à chaque appel de ton trigger

  3. #3
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    420
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 420
    Points : 174
    Points
    174
    Par défaut
    non, sans SET @COMPTEUR=0, la variable est a null

    Au fait, c'est quoi la question ?
    ( je vois que dans ton trigger, tu as oublié à la fin le mot clé set devant @compteur=@compteur+1

  4. #4
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Février 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 126
    Points : 127
    Points
    127
    Par défaut
    Ce que je veux dire c'est qu'apparement il veut incrémenter @COMPTEUR à chaque fois qu'il va faire un insert ou update sur la table ENTETE, comme il fait un SET @COMPTEUR = 0 sans aller le chercher ailleurs, quand le trigger est lancé :

    DECLARE -> NULL
    SET -> 0
    SI CONDITION -> 1
    le trigger est quitté et à l'insert ou l'update suivant on recommence. non ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    C'est bon merci le pb est résolu c'est tout simplement que je n'avais pas mis de Set devant compteur.

  6. #6
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Février 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 126
    Points : 127
    Points
    127
    Par défaut
    Attends le truc m'interresse, n'utilisant jamais ce genre de truc, cela voudrait signifier un truc "bizarre" pour moi sur les triggers et la portée des variables.

  7. #7
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    420
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 420
    Points : 174
    Points
    174
    Par défaut
    apparemment "il s'en fout" que le trigger ne soit pas juste. Ca tombe bien car c'est le cas

  8. #8
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Février 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 126
    Points : 127
    Points
    127
    Par défaut
    Mon raisonnement est bon où pas ?

    Citation Envoyé par |DUCATI| DesMo
    Ce que je veux dire c'est qu'apparement il veut incrémenter @COMPTEUR à chaque fois qu'il va faire un insert ou update sur la table ENTETE, comme il fait un SET @COMPTEUR = 0 sans aller le chercher ailleurs, quand le trigger est lancé :

    DECLARE -> NULL
    SET -> 0
    SI CONDITION -> 1
    le trigger est quitté et à l'insert ou l'update suivant on recommence. non ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oui c ça la variable compteur recommence à 0

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

Discussions similaires

  1. Incrémenter variables automatiquement
    Par Ankhsounamon31 dans le forum SAS Base
    Réponses: 5
    Dernier message: 13/04/2011, 12h34
  2. [WD12] Incrémentation variable dans WdEtat
    Par Yolak dans le forum WinDev
    Réponses: 3
    Dernier message: 05/06/2009, 09h36
  3. incrémentation variable sql
    Par zemblamoh dans le forum Langage SQL
    Réponses: 0
    Dernier message: 03/06/2009, 11h05
  4. incrémenter un variable
    Par penelope dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/07/2005, 17h49
  5. [débutant][xsl]incrémenter une variable
    Par guitalca dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/04/2003, 15h19

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