Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2861 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL SERVER 2005] Script de remplissage de table (BLUK INSERT & cie)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL SERVER 2005] Script de remplissage de table (BLUK INSERT & cie)

n°1904054
Profil sup​primé
Posté le 09-07-2009 à 14:01:11  answer
 

Bonjour à tous :)
 
Je sais écrire un script sql pour SQL Server 2005 permettant d'importer un fichier plat csv dans une table. En revanche, j'ignore comment écrire un script plus évolué permettant de faire du mapping. Par exemple, si je souhaite intégrer un fichier plat dans une table dont le premier champ est un champ auto-incrémenté (clé primaire en l'occurence), le BULK INSERT ne fonctionne pas car la table contient un champ de plus que le fichier source.  
 
Comment faire un script compatible SQL Server 2005 permettant de dire "Remplie tous les champs de la table TOTO avec le fichier TITI sauf le premier champ de TOTO qui est pré-rempli puisqu'auto-incrémenté. Ça revient - je suppose - à mapper les champs du fichier plat sur ma table. Comment doit-on s'y prendre ? Je précise que je cherche à le faire par script, et non par l'interface graphique de Management Studio avec le wizard d'importation ;)
 
D'avance merci  :)

mood
Publicité
Posté le 09-07-2009 à 14:01:11  profilanswer
 

n°1904101
Profil sup​primé
Posté le 09-07-2009 à 15:06:09  answer
 

Je up déjà car je bloque sur le sujet et c'est critique pour moi.

n°1904178
Profil sup​primé
Posté le 09-07-2009 à 18:32:44  answer
 

Malheureusement, j'ai trouvé la réponse sur MSDN. Il faut utiliser un FILE FORMAT passé en paramètre du BULK INSERT. Le problème est qu'il est hors de question d'écrire 60 file formats puisque j'ai 60 tables à créer.  
 
J'en profite pour poser deux autres questions :
 
- Peut-on faire un BULK INSERT dans une proc stock ?
- Peut-on faire un ALTER TABLE pour ajouter une colonne en spécifiant la position de la colonne à ajouter ? Je suis sous SQL SERVER 2005.

n°1904191
Profil sup​primé
Posté le 09-07-2009 à 19:04:53  answer
 

Je me réponds :  
 
- Oui
- Non à priori, sauf sous MySQL (mais ça reste une aberration car un SGBD se fiche de l'ordre des colonnes)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL SERVER 2005] Script de remplissage de table (BLUK INSERT & cie)

 

Sujets relatifs
[SQL SERVER 2005] Associer une procédure stockée à une BDDSQL Error -104
PHP/MySQL INSERT INTO en masse qui déraille (oubli de données)PL/SQL : utilisation de variable pour liste de valeur dans requête
PL/SQL : Problème d'apostophes dans génération de liste de valeursRequete SQL sélectionnant le plus petit nombre unique
Script de téléchargement de fichiertable de hashage
Plus de sujets relatifs à : [SQL SERVER 2005] Script de remplissage de table (BLUK INSERT & cie)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR