J'ai besoin de mettre à jour les N premières lignes d'une table rencontrant une condition.Comment mettre à jour n lignes d'une table?
Je sais que je peux faire un Update Top N ... mais le problème est que N est dans une @ variable.
MISE À JOUR TOP @N SET ... ne fonctionne pas.
Existe-t-il un moyen de le faire que je manque?
Aucune définition de table spécifique ici car peu importe les colonnes. Si je peux le faire pour une table à une colonne, je peux le faire pour ma table.
Truc sympa! Merci de m'avoir appris ça. Fait intéressant, cette syntaxe ne fonctionne pas avec la construction 'SELECT TOP n'. Je peux pourquoi cela se produirait, bien qu'il s'agisse d'une asymétrie quelque peu étrange dans TSQL. – mjv
'SELECT TOP n' ne fonctionne que si' n' est une constante, pas une variable. Cela a fonctionné comme ça avant 2005. 'TOP' avec un argument variable et' TOP' pour les instructions DML a été ajouté depuis 2005 et nécessite des parens. –
Cela serait vraiment cool, cependant, "mise à jour top (@N) set systemuserid = @ID où systemuserid est null" me donne "Syntaxe incorrecte près du mot clé 'set'". – Moose