De nombreuses nouvelles fonctions ont été ajoutées à SQL Server 2005. Parmi elles, la fonction en bloc de la fonction OPENROWSET peut importer par lots des données sous forme de fichiers dans la base de données. Selon MSDN :
BULK est un nouveau fournisseur d'ensemble de lignes spécifié dans la fonction OPENROWSET qui vous permet d'accéder aux données de fichiers au format relationnel. Pour récupérer les données d'un fichier, vous spécifiez l'option BULK, un nom de fichier et un format de fichier créé avec bcp.exe ou manuellement. Vous pouvez spécifier le nom de la colonne de résultat entre parenthèses après l'alias de la table renvoyée par OPENROWSET. Ce qui suit est un exemple pour expliquer brièvement
s'il existe un fichier TXT, comme suit
Asie.txt
1, Mizuho, Fukushima, Tokyo
2, Minika, Pang, Taipei
3, Jen, Ambelang, Inde
4, Jiang, Hong, Shanghai
5, Ada, Koo, Hong Kong
Et nous créons une table de données appelée région
CRÉER UNE RÉGION DE TABLE
(ID INT,
RÉGION VARCHAR(25),
VARCHAR DE DONNÉES (MAX)
)
Nous pouvons utiliser la fonction groupée pour ajouter des données à la table des régions.
INSÉRER DANS LA RÉGION (ID, RÉGION, DONNÉES)
SÉLECTIONNEZ 1 COMME ID, 'ASIE' COMME RÉGION,
* DEPUIS OPENROWSET (VRAC 'C:DATAASIA.TXT',SINGLE_CLOB)
AS MYTABLE
, le champ de données de la table de régions correspond au contenu du fichier texte asia.txt.
Source : BLOG de Jackyrong