在插入多行时增加一个变量存储过程
问题描述:
我想在插入多行时增加一个变量。在插入多行时增加一个变量存储过程
这是我最后一次尝试。
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()
那如果从1开始的,但伟大工程,如果我想在开始说的1 220和增量呢? – 2015-04-02 17:29:43
将219添加到ROW_NUMBER?它返回一个BIGINT,你可以进行算术运算。 – 2015-04-02 17:31:47
试过,但t抛出语法错误ROW_NUMBER()+ @ 260 – 2015-04-02 17:39:29