Не съм сигурен дали има някакъв директен начин за това в T-SQL, но ако искате да използвате Bulk Insert, можете да използвате sqlcmd
за експортиране в CSV файл и след това импортиране на файла обратно в сървъра чрез групово вмъкване.
Създайте dbo.Split
Functionm, можете да се обърнете тук разделяне на низ на множество записи
Има много добри примери.
ако искате да изпълните като пакетен процес, можете да изпълните sqlcmd
и „Групово вмъкване“
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'
)
В противен случай можете да манипулирате директно в T-SQL, но като имате същата идентификация на дефиницията на колони.
INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable