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

Python Discussion :

update with joint


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    Septembre 2016
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2016
    Messages : 152
    Par défaut update with joint
    pour mise a jours d'un champ C1 dans un table TABLE1 a partir jointure TABLE1<-->TABLE2 je utilise cette comande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        import pyodbc
        DRV = '{Microsoft Access Driver (*.mdb, *.accdb)};'
        MDB = 'MyDataBase.mdb;'
        con = pyodbc.connect('Driver={};DBQ={}'.format(DRV, MDB))
        sql="UPDATE TABLE1 INNER JOIN TABLE2 ON TABLE1.[C2] = TABLE2.[C2] SET TABLE1.[C1] ='A100' ;"
        cursor = con.cursor()
        cursor.execute(sql)
        con.commit()
        con.close()
    et malgré que aucune erreur ne s'est produite lors de l'exécution du code la mise à jour n'a pas eu lieu dans la base

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Vous voyez bien que côté Python, SQL, c'est juste des chaînes de caractères passées a une fonction qui...

    Est ce que cette chaine de caractères est bien construite pour faire ce que vous voulez? Vous n'êtes pas dans le meilleur forum pour qu'on y réponde.
    De plus, vous devriez avoir une interface qui permet de la tester à côté de Python et des exemples à chercher sur Internet.

    Si on suppose que la commande SQL est correcte, pas de mise à jour signifie peut être qu'il n'y a pas de lignes qui vérifient la condition.
    Et çà c'est vos données... et on ne peut pas "tester" que le "join" retourne quelque chose à votre place.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    Septembre 2016
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2016
    Messages : 152
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    ... et on ne peut pas "tester" que le "join" retourne quelque chose à votre place.
    - W
    Merci pour votre soutien constant
    En réponse à votre dernier point, je voudrais mentionner que le "join" retourne plusieur enregistrements qui remplissent la condition

  4. #4
    Membre émérite Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 593
    Par défaut
    Bonjour,
    Sur Access je ne me prononcerai pas, mais en sql j'éviterais des update sur des jointures. Si le but de la jointure est de filtrer les lignes à mettre à jour, pourquoi ne pas utiliser une classique clause "where" ?
    Et de toutes façons, comme le rappelle @wiztricks, il faut tester directement les requêtes avant de les intégrer à un programme (en Python ou autre).

  5. #5
    Membre confirmé
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    Septembre 2016
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2016
    Messages : 152
    Par défaut
    Citation Envoyé par Cincinnatus Voir le message
    Bonjour,
    Sur Access je ne me prononcerai pas, mais en sql j'éviterais des update sur des jointures. Si le but de la jointure est de filtrer les lignes à mettre à jour, pourquoi ne pas utiliser une classique clause "where" ?
    Et de toutes façons, comme le rappelle @wiztricks, il faut tester directement les requêtes avant de les intégrer à un programme (en Python ou autre).
    je testé cette requête en interface Microsoft Office Access et elle est marche comme il faut
    et sur la raison de l'utilisation de "joint" est que je souhaite mettre à jour la table1 a partir un fichier texte (les champs qui ces trouve dans les ficher texte) et je pensais que le moyen le plus rapide était la jointure entre deux tables TABLE1 qui je veux mettre à jour et TABLE2 qui a été créé par le fichier texte
    Comme le montre l'image
    Et la question demeure toujours, comment est le problème dans le code ci-dessus
    Nom : UPDATE.PNG
Affichages : 80
Taille : 75,2 Ko

Discussions similaires

  1. Utiliser WITH dans un INSERT / UPDATE
    Par GoLDoZ dans le forum SQL
    Réponses: 5
    Dernier message: 24/02/2011, 10h38
  2. update statistics with sampling
    Par thx5959 dans le forum Adaptive Server Enterprise
    Réponses: 1
    Dernier message: 28/09/2009, 06h34
  3. Réponses: 3
    Dernier message: 04/06/2009, 15h49
  4. Réponses: 5
    Dernier message: 19/04/2009, 17h06
  5. UPDATE + WITH
    Par erwan.bodere dans le forum SQL
    Réponses: 8
    Dernier message: 05/06/2008, 14h09

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