Ho bisogno di aggiornare le prime N righe in una tabella che soddisfa una condizione.Come aggiornare n righe in una tabella?
So che posso fare un aggiornamento in alto N ... ma il problema è che N è in una variabile @.
UPDATE TOP @N SET ... non funziona.
C'è un modo per farlo che mi manca?
Nessuna definizione di tabella specifica qui perché non ha importanza quali sono le colonne. Se riesco a farlo per una tabella di una colonna, posso farlo per la mia tabella.
Fantastico trucco! Grazie per avermelo insegnato. È interessante notare che questa stessa sintassi non funziona con il costrutto "SELECT TOP n". Posso perché questo succederebbe, anche se è piuttosto una strana asimmetria in TSQL. – mjv
'SELECT TOP n' funziona solo se' n' è una costante, non una variabile. Ha funzionato in questo modo prima del 2005. 'TOP' con un argomento variabile e' TOP' per le istruzioni DML è stato aggiunto dal 2005 e richiede parenti. –
Questo sarebbe davvero interessante, tuttavia, "update top (@N) set systemuserid = @ID dove systemuserid è null" mi dà "sintassi errata vicino alla parola chiave 'set'". – Moose