在插入多行时增加一个变量存储过程

在插入多行时增加一个变量存储过程

问题描述:

我想在插入多行时增加一个变量。在插入多行时增加一个变量存储过程

这是我最后一次尝试。

DECLARE @i int 
Set @i=0 
Insert into winners (ContestantID, DrawingID, SlotNumber) 
SELECT TOP (@Total) ID, @DrawingID, @i + 1 FROM Contestants 
where [email protected] ORDER BY NEWID() 

使用ROW_NUMBER函数:

INSERT INTO winners (ContestantID 
    , DrawingID 
    , SlotNumber) 
SELECT TOP (@Total) ID 
    , @DrawingID 
    , ROW_NUMBER() OVER (ORDER BY ID) 
FROM Contestants 
WHERE Drawingid = @DrawingID 
ORDER BY NEWID() 
+0

那如果从1开始的,但伟大工程,如果我想在开始说的1 220和增量呢? – 2015-04-02 17:29:43

+0

将219添加到ROW_NUMBER?它返回一个BIGINT,你可以进行算术运算。 – 2015-04-02 17:31:47

+0

试过,但t抛出语法错误ROW_NUMBER()+ @ 260 – 2015-04-02 17:39:29