使用游标计算行号
DECLARE @SalesRN TABLE(empid VARCHAR(5), qty INT, rn INT);
DECLARE @empid AS VARCHAR(5), @qty AS INT, @rn AS INT;
DECLARE rncursor CURSOR FAST_FORWARD FOR
SELECT empid, qty FROM dbo.Sales ORDER BY qty, empid;
OPEN rncursor;
SET @rn = 0;
FETCH NEXT FROM rncursor INTO @empid, @qty;
WHILE @@fetch_status = 0
BEGIN
SET @rn = @rn + 1;
INSERT INTO @SalesRN(empid, qty, rn) VALUES(@empid, @qty, @rn);
FETCH NEXT FROM rncursor INTO @empid, @qty;
END
CLOSE rncursor;
DEALLOCATE rncursor;
SELECT empid, qty, rn FROM @SalesRN;
GO