Necesito actualizar las primeras N filas en una tabla que cumpla una condición.¿Cómo actualizo n filas en una tabla?
Sé que puedo hacer una Actualización Top N ... pero el problema es que N está en una @variable.
ACTUALIZACIÓN TOP @N SET ... no funciona.
¿Hay alguna manera de hacer esto que me falta?
No hay definiciones de tabla específicas aquí porque no importa de qué columnas sean. Si puedo hacerlo para una tabla de una columna, puedo hacerlo para mi tabla.
Truco Cool! Gracias por enseñármelo. Curiosamente, esta misma sintaxis no funciona con la construcción 'SELECT TOP n'. Puedo entender por qué sucedería eso, aunque es algo así como una asimetría extraña en TSQL. – mjv
'SELECT TOP n' funciona solo si' n' es una constante, no una variable. Funcionó así antes de 2005. 'TOP' con un argumento variable y' TOP' para declaraciones DML se ha agregado desde 2005 y requiere parens. –
Esto sería genial, sin embargo, "update top (@N) set systemuserid = @ID donde systemuserid es nulo" me da "Sintaxis incorrecta cerca de la palabra clave 'set'". – Moose