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
Publicité
Posté le 27-03-2008 à 18:50:18
MagicBuzz
Posté le 28-03-2008 à 02:15:48
update à chaque fois, ou aussi insert ?
selon ton sgbd, avec des decode()/nvl() ou isnull()/switch tu devrais pouvoir t'en sortir si tu ne fais que des update
mais si tu dois gérer les deux, à mon avis le plus simple c'est de faire un trigger
masseur
Posté le 28-03-2008 à 09:44:40
En faisant ceci
Code :
UPDATE MaTable
SET Macolonne1 = COALESCE(MaColonne1, MaValeur1),
Macolonne2 = COALESCE(MaColonne2, MaValeur2),
Macolonne3 = COALESCE(MaColonne3, MaValeur3),
...
ca update mon champs si il vaut NULL.
Cependant quand MaValeur1 vaut '' ca me remplace NULL par du vide et du coup le COALESCE ne marche plus.