sql >> Database >  >> RDS >> Sqlserver

Bulksgewijs invoegen met tekstkwalificatie in SQL Server

U moet een 'formaatbestand' gebruiken om een ​​tekstkwalificatie voor bulkinvoeging te implementeren. In wezen moet u de bulkinvoeging leren dat er mogelijk verschillende scheidingstekens zijn in elk veld.

Maak een tekstbestand met de naam "level_2.fmt" en sla het op.

11.0
2
1   SQLCHAR   0  8000   "\","      1     wkt         SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR   0  40   "\r\n"      2     area         SQL_Latin1_General_CP1_CI_AS

De eerste regel, "11.0" verwijst naar uw versie van SQL. De tweede regel laat zien dat uw tabel, [level2_import], twee kolommen heeft. Elke regel daarna beschrijft een kolom en volgt het volgende formaat:

[Source Column Number][DataType][Min Size][Max Size][Delimiter pattern][Destination Column Number][Bestemmingskolomnaam][Hoofdlettergevoeligheid van database]

Nadat u dat bestand heeft gemaakt, kunt u uw gegevens inlezen met de volgende bulkinvoegopdracht:

BULK INSERT level2_import
FROM 'D:\test.csv'
WITH 
(
  FIRSTROW = 2,
  FORMATFILE='D:\level_2.fmt'
);

Raadpleeg deze blog voor een uitgebreide uitleg van het formaatbestand.



  1. Hoe alle kolommen en een telling(*) in dezelfde query te selecteren

  2. formaat interval met to_char

  3. Wat is het MySQL-query-equivalent van PHP strip_tags?

  4. 10 tips en trucs om een ​​efficiënte database te beheren