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 et Table temporaire


Sujet :

Développement SQL Server

  1. #1
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut UPDATE et Table temporaire
    Bonjour,
    encore moi!
    Toujours avec mes rayons et produits!!

    Je souhaiterais faire une mise à jour de mes references (ref_produit) avec les nouvelles (new_ref) dans ma table rayons_produits mais j'ai un soucis et je ne sais pas si c'est le fait que je passe par une table temporaire..

    Voici mon exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    TABLE Temporaire #produits_historiques
    new_ref | old_ref 
    -----------------
    8250      | 3024  
    9520      | 1014  
    8253      | 2010  
     
    TABLE rayons_produits
    rayon | ref_produit
    -------------------
    20    | 1014 
    26    | 3024   
    42    | 2010
    J'ai essayé ces 2 requetes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    -requete 1 :
    UPDATE rayons_produits
    set ref_produit = #produits_historiques.new_ref 
    where rayons_produits.ref_produit = #produits_historiques.old_ref 
     
    requete 2:
    UPDATE rayons_produits
    set ref_produit = #produits_historiques.new_ref
    FROM rayons_produits RP INNER JOIN #produits_historiques PH ON RP.ref_produit = PH.old_ref
    Les 2 ne passent pas Il me met :
    =>L'identificateur en plusieurs parties '#produits_historiques.old_ref' ne peut pas être lié.
    =>L'identificateur en plusieurs parties '#produits_historiques.new_ref' ne peut pas être lié.


    Je ne vois plus quoi essayer

    HELPPPPPPPPPPPPPP!

    Merci par avance
    Carpe Diem : Profitez du moment présent
    La connaissance non partagée n'a pas vraiment son utilité

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Points : 556
    Points
    556
    Par défaut
    Citation Envoyé par dany13 Voir le message
    Je ne vois plus quoi essayer

    HELPPPPPPPPPPPPPP!

    Merci par avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE RP
    set RP.ref_produit = PH.new_ref
    FROM rayons_produits RP 
    INNER JOIN #produits_historiques PH 
    ON RP.ref_produit = PH.old_ref

  3. #3
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut
    Bon,
    je viens de me rendre compte de ma betise!!! Merci pour la solution cmako

    Carpe Diem : Profitez du moment présent
    La connaissance non partagée n'a pas vraiment son utilité

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vu vos requêtes, je doute de l'utilité de l'usage des tables temporaires ...

    @++

  5. #5
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut
    Bonsoir elsuket,
    en faite, j'utilise une table temporaire car je fais une serie de traitement sur les données avant de faire cet update.
    Toutefois, merci infiniment pour le lien sur l'article, c'est quelque chose que je cherchais!!!
    @bientôt
    Carpe Diem : Profitez du moment présent
    La connaissance non partagée n'a pas vraiment son utilité

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    j'utilise une table temporaire car je fais une serie de traitement sur les données avant de faire cet update.
    Pourquoi ne pas faire tout cela dans la même requête ?

    @++

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/07/2014, 11h46
  2. Update table temporaire
    Par france38 dans le forum Développement
    Réponses: 34
    Dernier message: 04/05/2011, 11h26
  3. update sur plusieurs lignes avec table temporaire
    Par -=mateo=- dans le forum SQL
    Réponses: 3
    Dernier message: 23/12/2010, 14h40
  4. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 15h34
  5. Nettoyage de table temporaire
    Par Alain Dionne dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/02/2004, 20h44

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