T-SQLで直接行う方法があるかどうかはわかりませんが、一括挿入を使用する場合は、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