sql >> データベース >  >> RDS >> Sqlserver

カンマ区切りの文字列からの一括挿入

    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
    


    1. Postgres:配列フィールドに値が含まれているかどうかを確認しますか?

    2. テーブル値関数の実行方法

    3. 1つのイベントを使用して2つの手順を実行します

    4. OSX10.10でMySQLを停止できません