sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2008:SELECCIONE PARA ACTUALIZAR

Debe usar uno de los llamados tablas de sugerencias :

El bloqueo de actualización evita que otros procesos intenten actualizar o eliminar las filas en cuestión, pero no impide el acceso de lectura:

    SELECT TOP (20) * 
    FROM [TMA_NOT_TO_ENTITY_QUEUE] WITH (UPDLOCK)
    WHERE [TMA_NOT_TO_ENTITY_QUEUE].[STATE_ID] = 2 
    ORDER BY TMA_NOT_TO_ENTITY_QUEUE.ID

También hay un bloqueo exclusivo , pero básicamente, el bloqueo de actualización debería ser suficiente. Una vez que haya seleccionado sus filas con un bloqueo de actualización, esas filas están "protegidas" contra actualizaciones y escrituras hasta que finalice su transacción.