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

Langage SQL Discussion :

Je voudrais savoir s'il n'y a pas une meilleur façon de faire mon update


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 57
    Points : 38
    Points
    38
    Par défaut Je voudrais savoir s'il n'y a pas une meilleur façon de faire mon update
    Bonjour !

    Voici ma situation.

    J'ai 2 tables dont le premier champs indiqué est la clé. Les 2 tables sont relié par id_voie.

    Ac_adresse
    id_adresse
    id_voie

    ac_voie_circulation
    id_voie
    id_voie_interface


    La table ac_voie_circulation est porté à disparaître. Je vais connecter ac_adresse sur une autre table et pour ce faire je dois de mettre à jour son champs id_voie. C'est-à-dire que la valeur du id_voie de ac_adresse doit être maintenant la valeur que l'on retrouve dans id_voie_interface.

    Exemple :

    Dans ac_voie_circulation

    Pour le id_voie 1 son id_voie_interface = 838.
    Pour le id_voie 2 son id_voie_interface = 657.
    .
    .
    .

    Donc, dans ac_adresse tous les records dont le id_voie = 1 doit être remplacé par 838 et tous ceux dont le id_voie = 2 doit être remplacé par 657 et ainsi de suite.


    Présentement ce que je fais, je parcours la table ac_voie_circulation et pour chaque id_voie, donc chaque ligne de la table, je prends son id_voie_interface et je fais un update dans la table ac_adresse.

    Es-ce qu'il est possible de faire ça en un seul update ? Ou je dois absolument faire comme je fais présentement ?

    Merci beaucoup pour votre aide

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    A priori , ceci devrait etre suffisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Update Ac_adresse A
    Set A.id_voie = (Select C.id_voie_interface from ac_voie_circulation C
                     Where C.id_voie = A.id_voie)
    Signé : Capitaine Jean-Luc Picard

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/08/2009, 22h47
  2. je voudrais savoir si vous utilisez Dev C++
    Par Invité dans le forum Dev-C++
    Réponses: 2
    Dernier message: 21/02/2009, 11h22
  3. Réponses: 9
    Dernier message: 10/07/2008, 22h12
  4. Réponses: 6
    Dernier message: 02/03/2008, 02h47
  5. Réponses: 3
    Dernier message: 08/08/2004, 21h35

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