insert した結果を insert する方法を教えてください。

ちぃるみ
2014-05-12 17:10 1501 2
SQLServerを使用してinsertした結果をinsertしたいのですが、そのクエリをどう書けばいいのか分からず困っています。
(ちなみに1000行データを作成したいです)
具体的には下記のような内容です。

(1)注文テーブル[Id, 注文内容,注文個数,顧客Id←(2)のIdのことです)]
(2)顧客テーブル[Id, 名前,住所]

テストデータを作成するために、(2)のデータをinsert文で登録し、その登録したデータのIdをさらに(1)のテーブルの顧客Idに挿入したいです。
上記にも記載しましたが、このデータを1000行作成する方法も知りたいです。

説明が分かりにくいうえに、不足している箇所があるかもしれないのですが、
どなたか分かる方がいればぜひ教えていただきたいです。
よろしくお願いします。

コメント

2014年 05月 13日 (11:31)
こんにちは。
イノ(inno)です。

下記のSQLを参考してください。
1000件のデータを登録するSQLです。


-- #### 顧客テーブル作成
CREATE TABLE dbo.UserInfo
(
UserID varchar(10)
, UserName nvarchar(10)
, UserAddress nvarchar(10)
)
GO

-- #### 注文テーブル作成
CREATE TABLE dbo.OrderInfo
(
Idx int identity(1,1)
, OrderDesc nvarchar(10)
, OrderCnt int
, UserID varchar(10)
)
GO

-- #### 1000件のデータを登録
DECLARE @i int
SET @i = 1

WHILE (@i <= 1000)
BEGIN

INSERT INTO dbo.UserInfo ( UserID, UserName, UserAddress)
SELECT 'UserID' + CONVERT(varchar(10), @i), N'山田'+ CONVERT(varchar(10), @i), N'住所'+ CONVERT(varchar(10), @i)

INSERT INTO dbo.OrderInfo ( OrderDesc, OrderCnt, UserID)
SELECT N'注文内容' + CONVERT(varchar(10), @i), 1, 'UserID' + CONVERT(varchar(10), @i)


SET @i = @i + 1
END

-- #### データの確認。
SELECT * FROM dbo.UserInfo

SELECT * FROM dbo.OrderInfo
ちぃるみ 2014年 05月 15日 (17:58)
できました。