Pour les besoins d’un import dans SQL Server 2008, je devais ajouter un compteur dans un « select ». Il faut utiliser la fonction « ROW_NUMBER() OVER (ORDER BY (SELECT 1)) ».
Voici quelques exemples :
Compteur démarrant à 1 :
SELECT *,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) FROM matable ; |
Compteur démarrant à 25367 :
SELECT *,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) + 25366 FROM matable ; |
Compteur démarrant au dernier id + 1 d’une autre table :
SELECT *,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) + (SELECT MAX(id) FROM monautretable) FROM matable ; |
Ceci devrait fonctionner sous SQL Server 2005.
Source de l’article : http://www.databasejournal.com/features/mssql/article.php/3661461/New-Ranking-Functions-within-SQL-Server-2005.htm