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 :

Mise à jour bdd


Sujet :

Langage SQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut Mise à jour bdd
    Bonjour.

    Je possède une BDD qui contient des enregistrements plus ou moins enrichis.
    Ensuite je possède une fonction importer qui parse un fichier XML et qui va update ma BDD.

    Cependant certains champs parsé dans mon XML peuvent être vides alors que dans ma BDD ils sont peux être déjà renseigné.

    Comment faire un update que de mes champs qui n'ont pas encore été renseignés dans ma BDD?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    En utilisant la formule magique SQL suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE MaTable
    SET Macolonne1 = COALESCE(MaColonne1, MaValeur1),
        Macolonne2 = COALESCE(MaColonne2, MaValeur2),
        Macolonne3 = COALESCE(MaColonne3, MaValeur3),
    ...
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Je viens de tester cela marche bien.


    Cependant quand MaValeur1 vaut '' ca me remplace NULL par du vide et du coup le COALESCE ne marche plus.

    Faut faire un test si c'est une valeur vide et dans ce cas la remplacer par NULL?

    Des idées?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    ça vient du logiciel qui injecte les données je suppose l'erreur?
    J'ai l'option en windev notamment.

    Y'a toujours bien l'option

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    case when mavaleur1 = '' then ....
    when mavaleur1 is nul then ....
    else .....
    end

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

Discussions similaires

  1. Mise à jour bdd programme externe
    Par cactus2078 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 17/04/2007, 16h11
  2. Réponses: 7
    Dernier message: 11/04/2007, 14h21
  3. Mise à jour BDD sans perdre les données
    Par penchu dans le forum Accès aux données
    Réponses: 4
    Dernier message: 07/02/2007, 11h21
  4. PreparedStatements et mise à jour BDD
    Par florentB dans le forum JDBC
    Réponses: 2
    Dernier message: 17/01/2007, 14h30
  5. Module de Mise à jour BDD access via un site sécurisé
    Par Askarod dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/12/2005, 08h31

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