2016-05-01 11 views
0

Ich mache gerade ein Projekt und der einzige Weg, wie ich die Daten, die ich brauche, einzufügen über T-sql mit einer neuen Abfrage einfügen musste, lief alles cool seit Ich muss 24000 Datensätze einfügen, gibt es eine Möglichkeit, die ich mit dem gleichen Ansatz tun kann? Hier ist ein Beispiel über das, was ich braucheMehr als 1000 Zeilen bei T-Sql

SET IDENTITY_INSERT Estadoes ON; 

INSERT INTO countries ([EstadoId], [EstadoNome], [PaisId]) VALUES 

(1, 'Andaman and Nicobar Islands', 101), 
(2, 'Andhra Pradesh', 101), 
(3, 'Arunachal Pradesh', 101), 
(4, 'Assam', 101), 
(5, 'Bihar', 101), 
(6, 'Chandigarh', 101), 
(7, 'Chhattisgarh', 101), 
(8, 'Dadra and Nagar Haveli', 101), 
(9, 'Daman and Diu', 101), 
(10, 'Delhi', 101), 

Antwort

0

So viele Möglichkeiten (Weg [Split Daten bei Bedarf], wählen .. union all, Datenimport in Management Studio, ÖffnenAbfrage-, Bulk Insert einzufügen, Anwendung verwenden, ...)

Ich zeige Ihnen, Verwendung von Massen einfügen.

Lassen Sie uns sagen „data.txt“ hat Ihre Daten wie folgt:

1,Andaman and Nicobar Islands,101 
2,Andhra Pradesh,101 
3,Arunachal Pradesh,101 
... 

Wenn Sie Ihre Datendatei bilden Ihre DB-Server verweisen können Sie etwas tun können:

--Create a temporary table 
select top 0 * into #countriesImport from countries; 

BULK INSERT #countriesImport 
FROM 'C:\temp\data.txt' 
WITH (FIELDTERMINATOR=',', ROWTERMINATOR='0x0a') 

insert countries (EstadoId, EstadoNome, PaisId) 
select EstadoId, EstadoNome, PaisId 
FROM #countriesImport A 
    left outer join countries B on A.EstadoId = B.EstadoId 
where B.EstadoId is null 

Hoffnung es hilft.

+0

gibt es nicht einen Weg, dass ich einfach die Datensätze direkt in die T-SQL einfügen und ausführen? –

+0

Momentan gibt es ... aber es beinhaltet XQuery in SQL Server 2008+, aber wenn Sie vorher nicht dorthin gegangen sind, könnte das nur für Mutch sein. In einfachen Sachen wie diesem verwende ich normalerweise Excel und mache eine Menge Schritte. ex: Fügen Sie einige zusätzliche Spalten in Excel hinzu [(] [1] [, '] [Andaman and Nicobar Islands] [',] [101] [),] Kopieren Sie das Excel zum Editor ersetzen Sie alle doble Speicherplatz mit Leerzeichen Kopie an Management-Studio und führen Sie es – Meola

+0

gut kann ich mit dem Einfügen von 1000 Datensätze jedes Mal, es kostet mich nicht viel Zeit, die Sache ist, dass eutme ich füge 1000 es ersetzt die 1000 vor kann ich damit umgehen? –

Verwandte Themen