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

Excelデータから挿入ステートメントを生成してSQLServerテーブルにロードする方法-SQLServer/TSQLチュートリアルパート103

    シナリオ:

    あなたはSQLServer開発者として働いており、dbo.CustomerテーブルのExcelファイルでデータを受け取りました。このデータをdbo.Customerテーブルにロードする必要があります。 DEV、QA、UAT、および本番環境にロードできるように、Excelで特定のデータの挿入ステートメントをどのように生成しますか。

    解決策:

    この要件を達成するには、複数の方法があります。最初にインポート/エクスポートウィザードを使用してデータを開発環境にロードし、次にSSMSのテーブルから挿入スクリプトを生成できます。

    データをテーブルにロードしたくない場合は、Excelを使用できます。データからInsertステートメントを生成する式。

    Excel forSQLServerテーブルから挿入ステートメントを生成する方法

    まず、データをロードするテーブルを知る必要があります。この場合、dbo.Customerです。また、Excelで提供される列の名前は、dbo.Customerテーブルの列とまったく同じです。
    任意の列に移動し、以下の最初の行に示すようにこの式を入力します。列Gを入力しました。

    ="insert into dbo.Customer("&A1& "、"&B1& "、"&C1& "、"&D1& "、"&E1& ")Values"

    Excelでは、数式を=(符号に等しい)で開始します。連結には&を使用します。文字列を追加するには、カンマ "、"の場合と同様に、二重引用符で囲む必要があります。

    ExcelデータからSQLServerテーブルの挿入ステートメントを生成する方法

    これで、Insertステートメントの最初の部分の準備が整いました。 insertステートメントのvalues部分を生成する必要があります。 2行目に移動し、以下の式を使用します。

    ="('"&A2& "'、'"&B2& "'、"&C2& "、'"&TEXT(D2、 "dd / mm / yyyy") &"'、"&E2& ")、"

    最後のレコードまでドラッグします。すべての挿入値が生成されます。列Gからすべての値をコピーして、SSMSに貼り付けます。最後のレコードの最後に余分なコンマ(、)があります。それを削除し、挿入ステートメントを実行して、期待どおりに機能するかどうかをテストします。

    SQLServerテーブルのExcelファイルから挿入ステートメントを生成する方法


    これは、生成された挿入ステートメントであり、G列からコピーされ、SSMSに貼り付けられています。

    ビデオデモ:SQLServerテーブルのExcelレコードからInsertステートメントを生成する方法




    1. MariaDBで英数字以外の文字のみを含む行を返す2つの方法

    2. NetBeans 9.0、パート3のJava9でJShellを使用する

    3. 外部キーを持つテーブル列をNULLにすることはできますか?

    4. すべてのテーブルの行を一度にカウントする