SQL Server Management Studio を使えばいいんです
テーブルに保存されているデータを使って INSERT クエリを生成する機能が、SQL Server Management Studio にありました。今まで、INSERT クエリは雛型しか生成できないと思い込んでいましたよ…。
INSERT クエリを生成する手順は次の通り
データベースを右クリックし、メニューから[タスク]-[スクリプトの生成(E)...]を選択します。
「データベースオブジェクトの選択」では、今回は特定のテーブルだけ選択してみます。
スクリプトはデスクトップに保存します。データを INSERT するクエリを生成するので、詳細設定も必要です。
スクリプトを作成するデータの種類を「データのみ」に。他の項目は変更しません。これで OK。
出力されたクエリはこんな感じになります。
USE [Test] GO /****** Object: Table [dbo].[Customer] Script Date: 09/15/2010 10:43:18 ******/ INSERT [dbo].[Customer] ([Id], [Code], [Name]) VALUES (1, N'0001', N'Foo') INSERT [dbo].[Customer] ([Id], [Code], [Name]) VALUES (2, N'0002', N'Bar') INSERT [dbo].[Customer] ([Id], [Code], [Name]) VALUES (3, N'0003', N'Hoge') INSERT [dbo].[Customer] ([Id], [Code], [Name]) VALUES (4, N'0004', N'Fuga')
今まではADO.NETを使って自作していました
でも、Management Studio に INSERT クエリ生成機能があるなら、自作ツールはもう用無しですね。
SQL Azure にテストデータを詰めるときに役立ちそうです。SQL Server のデータをそのまま SQL Azure に挿入できるとは限らないですけど。