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 :

un DELETE qui fonctionne mal


Sujet :

MS SQL Server

  1. #1
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 273
    Points : 1 280
    Points
    1 280
    Par défaut un DELETE qui fonctionne mal
    Bonjour, j'ai cette requete dans une procédure stockée à qui je demande de m'effacer des lignes UNIQUEMENT dans la table 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE Table1 FROM #Table2  WHERE #Table2.id = Table1.id
    Mais apparemment il m'efface aussi les lignes de la #Table2 !!

    Comment eviter cela ???

    Merci
    j'suis vert !

  2. #2
    Membre habitué
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 151
    Points
    151
    Par défaut
    salut.
    Essait ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE Table1 
      FROM Table1 
      INNER JOIN #Table2  
        ON ( #Table2.id = Table1.id )
    ps : Mais il efface oui ou non?

  3. #3
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 273
    Points : 1 280
    Points
    1 280
    Par défaut
    c'est bizarre, des que j'enleve le code pour effacer mes lignes, ca fonctionne, mais quand je mets ton code ou le mien pour effacer les données de la table1, il me vide aussi la table 2 !!!!!!

    j'ai meme fait un curseur pour effacer les lignes :

    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
    18
    19
     
    DECLARE @id bigint
     
    DECLARE Curseur CURSOR FOR
    SELECT  id FROM table2
    OPEN Curseur
    FETCH NEXT FROM Curseur
    INTO @id
    WHILE @@FETCH_STATUS = 0
    BEGIN
    	DELETE Table1 WHERE id = @id
     
    	FETCH NEXT FROM Curseur
    	INTO @id
    END
    CLOSE Curseur
    DEALLOCATE Curseur
     
    SELECT DISTINCT blabla FROM Table2
    le dernier select me renvoi theoriquement les ligne de la table2, quand je met le code ou j'efface les ligne de la table1 en commentaire ca marche !!!
    Je comprends pas, nul part dans ma procedure j'ai un detete table2

    AU SECOURS !!!
    j'suis vert !

  4. #4
    Membre habitué
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 151
    Points
    151
    Par défaut
    salut.
    Verifie :
    -les triggers
    -la suppression en cascade

    Ca devrait fonctioner. Mon test fonctionne
    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
    DECLARE @t1 TABLE( id Int PRIMARY KEY)
    DECLARE @t2 TABLE( id Int PRIMARY KEY)
     
    INSERT @t1 VALUES( 1 )
    INSERT @t1 VALUES( 2 )
    INSERT @t1 VALUES( 3 )
    INSERT @t1 VALUES( 4 )
     
    INSERT @t2 VALUES( 1 )
    INSERT @t2 VALUES( 3 )
     
    DELETE @t1
      FROM @t1 a
      INNER JOIN @t2 b
        ON ( b.id = a.id )
    select * from @t1
    select * from @t2

Discussions similaires

  1. Un toggle qui fonctionne mal :/
    Par Nowwis dans le forum jQuery
    Réponses: 6
    Dernier message: 12/10/2009, 21h32
  2. Formule qui fonctionne mal
    Par BqiKo dans le forum Excel
    Réponses: 31
    Dernier message: 24/07/2009, 09h23
  3. autorun.inf qui fonctionne mal.
    Par WindSpirit dans le forum Windows XP
    Réponses: 7
    Dernier message: 12/04/2008, 11h49
  4. Touches "n" et "h" qui fonctionnent mal
    Par J0r_x dans le forum Sécurité
    Réponses: 1
    Dernier message: 17/11/2007, 17h29
  5. Démo qui fonctionne mal sur Mac OS
    Par shams dans le forum Ogre
    Réponses: 12
    Dernier message: 22/05/2007, 18h34

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