2016-01-21 56 views
0

在此先感謝您的幫助。SQL Server插入字符串循環

我想插入增量數字作爲字符串一些批量測試號碼加載到數據庫,這裏是我使用的是什麼:

Declare 
    @Serialcounter bigint 

set @Serialcounter = 0 

while @Serialcounter < 10 
    insert into [TrackTrace].[dbo].[TAB_ELEMENT] ([Serial], [Batch], [Batch_Id], [QCSample], [StationID]) 
    values(Convert(varchar(60), @Serialcounter), 'test', 8989, 0, 1) 

    set @Serialcounter = (@Serialcounter + 1) 

,但我這樣做時,它不會增加計數器和我只需插入重複的號碼,不要停下來。我認爲我的問題是我的變量在while循環之外遞增,但我不知道如何糾正這個問題。

+3

喜@列維 - clouser,哪裏是'開始「和」結束「? –

+0

謝謝,我知道我錯過了一些基本的東西 –

回答

2
Declare 
@Serialcounter bigint 
set @Serialcounter = 0 
while @Serialcounter < 10 
BEGIN 
    PRINT @Serialcounter 
    --insert into [TrackTrace].[dbo].[TAB_ELEMENT] 
    --([Serial] 
    --,[Batch] 
    --,[Batch_Id] 
    --,[QCSample] 
    --,[StationID]) 
    --Values(Convert(varchar(60),@Serialcounter),'test',8989,0,1) 
    set @Serialcounter = (@Serialcounter +1) 
END 

你不給的開始和結束,從而爲所有環路僅第一條語句被認爲是

1

我失蹤BEGINEND聲明

DECLARE 
@Serialcounter BIGINT 
SET @Serialcounter = 0 
WHILE @Serialcounter < 10 
BEGIN -- here 
    INSERT INTO [TrackTrace].[dbo].[TAB_ELEMENT] 
    ([Serial] 
    ,[Batch] 
    ,[Batch_Id] 
    ,[QCSample] 
    ,[StationID]) 
    VALUES(Convert(varchar(60),@Serialcounter),'test',8989,0,1) 
    SET @Serialcounter = (@Serialcounter +1) 
END -- and here