SQL Server 2005 で、複数の行を持つテーブルから INSERT スクリプトを作成する方法はありますか? 多くの場合、開発中にテーブルを削除して再作成する必要があります。以前に存在した行を手動で追加する必要があります。テーブルを削除する前に SELECT FOR XML AUTO を使用しましたが、行を新しいテーブルに挿入する前に手動で介入する必要があります。
6 に答える
SSMS Tools Packを入手してください。これには、SQL Server Management Studio へのアドオンが多数含まれています。そのうちの 1 つに INSERT スクリプトの生成が含まれています。
SELECT 'insert into table1 (fielda,fieldb,fieldc) values (''' + fielda + ''',''' + fieldb + ''',''' + fieldc + ''')' AS InsertCmd
FROM table1
考慮すべきもう 1 つのツールは、MS Database Publishing Wizardです。大規模なデータベース エクスポート用に設計されていますが、SQL 生成ウィザードも含まれています。
マイジェネレーションをお勧めします。これは無料のコード生成ツールで、データベースから挿入を生成するためのテンプレートがあります。1 つまたは複数のテーブルを選択できます。
別の方法はもう少し複雑ですが、追加のツールは必要ありません。データを別のデータベースにエクスポートし、インポート/エクスポート タスクを使用して、テスト データベースが再作成されたときにデータをインポートし直すことができます。インポート タスクを SSIS パッケージとして保存できるので、パッケージを何度でも実行できます。
データベースの [タスク] メニューにある [データのインポート/エクスポート] オプションを使用します。その後、テーブル、sproc、およびその他のデータベース オブジェクトをスクリプト化できます。