moment je suis en utilisant ROW_NUMBER() dans ma procédure dans SQL Server 2008 comme suit:ROW_NUMBER Alternative pour SQL Server 2000
WITH cars as(SELECT carid,mileage,retailprice,imageurl,model,year,
Zips.Distance AS Miles, Manufacturers.mfgName as Make,
dealers.companyname as companyname, CASE @sortby
WHEN 'D' THEN ROW_NUMBER() OVER (ORDER BY Manufacturers.mfgName)
WHEN 'P' THEN ROW_NUMBER() OVER (ORDER BY retailprice)
WHEN 'M' THEN ROW_NUMBER() OVER (ORDER BY mileage)
END as 'rownum'
FROM usedcars INNER JOIN #TempZips Zips ON Zips.ZipCode =usedcars.loczip
left join Manufacturers on Manufacturers.mfgid=usedcars.mfgid
left join dealers on dealers.dealerid = usedcars.dealerid
where usedcars.active=1 and [email protected])
select @totalrecords as totalrec,* from cars
where rownum between @skip and @take
Y at-il un équivalent à ce qui fonctionne dans SQL2000? (ROW_NUMBER n'a pas été introduit avant SQL2005).
Pourquoi l'avez-vous développé dans SQL Server 2008? Cela est si gênant dans SQL Server 2000. – gbn
Si SQL 2000 devait être la base de données minimale prise en charge, tout développement devrait avoir eu lieu dans SQL 2000 pour éviter cette situation où une fonctionnalité d'un produit ultérieur est utilisée "accidentellement". Ma suggestion serait de recommander que le client mise à niveau vers SQL 2005 ou plus tard comme le montant de l'effort pour adapter la solution à travailler dans SQL 2000, sera plus que le coût de la mise à niveau. – Thomas
Je comprends complètement. C'est quelque chose que notre client a acheté et ils ne veulent pas mettre à niveau vers SQL Server 2008 ou 2005 – iosdevnyc