Ik weet niet zeker of er een directe manier is om dit in de T-SQL te doen, maar als je Bulk Insert wilt gebruiken, kun je sqlcmd
gebruiken om naar een CSV-bestand te exporteren en vervolgens het bestand weer in de server te importeren met behulp van Bulk Insert.
Maak een dbo.Split
Functionm, u kunt hier verwijzen string splitsen in meerdere records
Er zijn talloze goede voorbeelden.
als u als batchproces wilt uitvoeren, kunt u sqlcmd
. uitvoeren en 'Bulk invoegen'
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'
)
Anders kunt u rechtstreeks in de T-SQL manipuleren, maar aangezien u dezelfde definitie van kolommen hebt.
INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable