[SQL Server] 1000件(任意の数)のデータを登録する方法 - While文を利用する。
データを任意の数程度データを登録する時に少量のデータの場合、WHILE文を利用するのが簡単だ。
WHILE文を条件を満足する間にはずっと実行される。
WHILE (条件)
BEGIN
INSERT INTO文.......
END
無限大実行したいときは条件に(1=1)とする。
WHILE (1=1)
BEGIN
INSERT INTO文.......
END
条件は満足しているので、ずっと実行されるようになる。
だが、こういう無限大で使う人はないだろう。。
では、簡単に1000件程度データを登録するSQLを作成してみた。
条件には「@i」変数の値が1000になるまでずっと実行されるように設定した。
-- #### 顧客テーブル作成
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
実行結果
上記の実行結果のスクリーンショットは8件ずつ表示されていますが、
実際には1000件が登録されている!!
While文は意外と色んなところで使うので、覚えておくと便利だ!!