sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008:KIES VOOR UPDATE

U moet een van de zogenaamde tabelhints gebruiken :

De updatevergrendeling voorkomt dat andere processen proberen de betreffende rijen bij te werken of te verwijderen - maar het verhindert niet leestoegang:

    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

Er is ook een exclusief slot , maar eigenlijk zou de updatevergrendeling voldoende moeten zijn. Zodra u uw rijen met een updatevergrendeling heeft geselecteerd, worden die rijen 'beschermd' tegen updates en schrijven totdat uw transactie is afgelopen.



  1. Hoofdlettergevoeligheid van Postgres

  2. Vervangingen gebruiken met een onbewerkte Sequelize-query:enkele aanhalingstekens vermijden?

  3. Database-ontwerp voor het opslaan van chatberichten tussen mensen

  4. Twee dubbele indexen met dezelfde kolommen