SQL server - Update al registro de un SELECT
-
viernes, 08 de junio de 2012 17:23
Buen dia,
me encuentro con la siguiente duda, yo realizo un SELECT a una tabla y traigo un registro.
SELECT TOP 1 * FROM Persona WHERE EstadoContacto = 1
pero inmediatamente se traiga ese registro necesito cambiar el estado de ese registro q trajo.
UPDATE Persona SET EstadoContacto = 2 ......
ese seria el UPDATE sencillo, pero no encontrado la forma de decirle que cambie de estado ese registro q se trajo.
Gracias.
Todas las respuestas
-
viernes, 08 de junio de 2012 17:31
Si además del TOP pones un ORDER BY y nos indicas cuál es la clave primaria de esa tabla, sería una forma de hacerlo. Por ejemplo:
SELECT TOP 1 * FROM persona WHERE EstadoContacto=1 ORDER BY <campo> UPDATE p SET EstadoContacto=2 FROM persona p INNER JOIN (SELECT TOP 1 * FROM persona WHERE EstadoContacto=1 ORDER BY <campo>) AS d ON p.<clave primaria> = d.<clave primaria>
- Marcado como respuesta RubenDsc viernes, 08 de junio de 2012 17:51
-
viernes, 08 de junio de 2012 17:51
hola Carlos,
Funciono perfectamente, muchas Gracias.
Buen dia.

