OVH Cloud OVH Cloud

Mise à jour d'enregistrements

2 réponses
Avatar
soprawoman
Bonjour,


Je souhaiterai pouvoir mettre à jour des données d'une table dans une table
cible à partir de fichier de données (texte). Je dois pouvoir
- insérer les nouvelles données
- mettre à jour les données existantes.

Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance, j'utilise
habituellement des ETL concurents.

Merci par avance

2 réponses

Avatar
Fred BROUARD
soprawoman a écrit :
Bonjour,


Je souhaiterai pouvoir mettre à jour des données d'une table dans une table
cible à partir de fichier de données (texte). Je dois pouvoir
- insérer les nouvelles données
- mettre à jour les données existantes.

Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance, j'utilise
habituellement des ETL concurents.

Merci par avance



le mieux est d'insérer tout le fichier dans une table tampon
puis de faire deux requêtes :

UPDATE table_cible
WHERE EXISTS (...)

INSERT INTO table_cible
WHERE NOT EXISTS (...)

Pour insérer un fichier dans une table, il n'y a même pas besoin de lot
DTS. La commande BULK INSERT permet de le faire en Transact SQL.

Bien entendu on peut aussi utiliser en ligne de commande bcp.exe.

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Timur
Bonjour,

il existe une tâche "Requête controlée par les données" ("Data Driven Query"
en version originale) qui permet cela.


Bien qu'adepte de DTS, je préfère néanmoins parfois utiliser la solution que
Fred a préconisée ...



--
Cordialement

Oxiane
----------------------------------------------------------
Omnia vanitas


"soprawoman" a écrit dans le message
de news:
Bonjour,


Je souhaiterai pouvoir mettre à jour des données d'une table dans une


table
cible à partir de fichier de données (texte). Je dois pouvoir
- insérer les nouvelles données
- mettre à jour les données existantes.

Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance,


j'utilise
habituellement des ETL concurents.

Merci par avance