No estoy seguro de si hay alguna forma directa de hacerlo en T-SQL, pero si desea usar Bulk Insert, puede usar sqlcmd
para exportar a un archivo CSV y luego importar el archivo nuevamente al servidor usando Bulk Insert.
Crear un dbo.Split
Functionm, puede consultar aquí cadena dividida en varios registros
Hay toneladas de buenos ejemplos.
si desea ejecutar como proceso por lotes, puede ejecutar sqlcmd
y 'Inserción masiva'
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'
)
De lo contrario, puede manipular directamente en T-SQL, pero dado que tiene la misma identificación de definición de columnas.
INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable