J'essaie de mettre à jour une table SQL avec x quantité de lignes à partir d'une requête ordonnée, où x est le solde de 100000 - un résultat précédent. J'utilise ROWCOUNT pour limiter le nombre de résultats dû au fait que x est un paramètre mais je ne pense pas que cela fonctionne.SQL Server 2000 Mise à jour basée sur imbriqué SELECT avec TOP
Quelqu'un peut-il suggérer un correctif ou une alternative sans curseurs?
DECLARE @Top int
SET @Top = 100000 - @CountRecords
SET ROWCOUNT @Top
UPDATE
UpdateTable
SET
UpdateField = 'SomeValue'
WHERE
Id IN
(
SELECT
TOP 100% Id
FROM
SelectTable
WHERE
(SelectField1 IS NULL) AND
(SelectFieldDate IS NOT NULL)
ORDER BY
SelectFieldDate
)
SET ROWCOUNT 0
Merci GBN, j'avais commencé à regarder une variable de table, mais je pensais que je pouvais faire le travail ci-dessus. Votre solution est parfaite. –