Tôi không chắc liệu có cách nào trực tiếp để thực hiện trong T-SQL hay không, nhưng nếu bạn muốn sử dụng Chèn hàng loạt, bạn có thể sử dụng sqlcmd
để xuất sang tệp CSV và sau đó Nhập tệp trở lại máy chủ bằng Chèn hàng loạt.
Tạo một dbo.Split
Hàm, bạn có thể tham khảo tại đây chia chuỗi thành nhiều bản ghi
Có rất nhiều ví dụ điển hình.
nếu bạn muốn thực thi dưới dạng quy trình hàng loạt, Bạn có thể thực thi sqlcmd
và 'Chèn hàng loạt'
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'
)
Nếu không, Bạn có thể thao tác trực tiếp trong T-SQL, nhưng với điều kiện bạn có cùng nhận dạng về định nghĩa cột.
INSERT INTO DestinationTable
SELECT dbo.Split(col1) FROM SomeTable