シナリオ:
あなたは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ステートメントを生成する方法