Ich bin mir nicht sicher, ob es in T-SQL einen direkten Weg gibt, aber wenn Sie Bulk Insert verwenden möchten, können Sie sqlcmd
verwenden um in eine CSV-Datei zu exportieren und die Datei dann mit Masseneinfügung wieder in den Server zu importieren.
Erstellen Sie einen dbo.Split
Functionm, können Sie hier verweisen String in mehrere Datensätze aufteilen
Es gibt unzählige gute Beispiele.
Wenn Sie als Batch-Prozess ausführen möchten, können Sie sqlcmd
ausführen und 'Masseneinfügung'
sqlcmd -S MyServer -d myDB -E -Q "select dbo.Split(col1) from SomeTable"
-o "MyData.csv" -h-1 -s"," -w 700
-s"," sets the column seperator to
bulk insert destTable
from "MyData.csv"
with
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
Andernfalls können Sie direkt in T-SQL manipulieren, aber vorausgesetzt, Sie haben die gleiche Identifikation der Spaltendefinition.
INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable