Nie jestem pewien, czy istnieje jakikolwiek bezpośredni sposób na wykonanie w T-SQL , ale jeśli chcesz użyć Bulk Insert, możesz użyć sqlcmd
aby wyeksportować do pliku CSV, a następnie zaimportować plik z powrotem na serwer za pomocą wstawiania zbiorczego.
Utwórz dbo.Split
Functionm, możesz zapoznać się tutaj podziel ciąg na wiele rekordów
Jest mnóstwo dobrych przykładów.
jeśli chcesz wykonać jako proces wsadowy, możesz wykonać sqlcmd
i „Wstaw zbiorczo”
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'
)
W przeciwnym razie możesz manipulować bezpośrednio w T-SQL, ale zakładając, że masz taką samą identyfikację definicji kolumn.
INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable