Ver Mensaje Individual
  #15 (permalink)  
Antiguo 24/07/2012, 15:24
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Obener Id del row actualizado con un update anidado

hice esta prueba

Código SQL:
Ver original
  1. CREATE TABLE TestDeadLock(
  2. id INT,
  3. name VARCHAR(20),
  4. STATUS bit
  5. )
  6.  
  7. INSERT INTO TestDeadLock VALUES (1,'uno',0)
  8. INSERT INTO TestDeadLock VALUES (2,'dos',0)
  9. INSERT INTO TestDeadLock VALUES (3,'tres',0)
  10.  
  11. DECLARE @id INT
  12.  
  13. SELECT top 1 @id=id FROM TestDeadLock WHERE STATUS=0 ORDER BY id
  14.  
  15. print @id
  16.  
  17. SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
  18. BEGIN tran
  19. UPDATE TestDeadLock
  20. SET STATUS=1
  21. WHERE id=@id
  22. commit tran

y en otra ventana:

select top 1 id,name from TestDeadLock where status=0 order by id

y el resultado del segundo select fue el 2 porque el uno se estaba actualizando asi que al siguiente usuario le daria un 2 al siguiente un 3 y asi sucesivamente, de esta forma no te sirve??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me