sql >> Database >  >> RDS >> Sqlserver

Alternatief synoniem in SQL Server in één transactie

Ja, je zou een raceconditie hebben.

Een manier om dit te beheren is om sp_getapplock te hebben na BEGIN TRAN in Transactiemodus en trap/verwerk de retourstatus zoals vereist. Dit zal bellers letterlijk serialiseren (in de zin van uitvoering, niet isoleren), zodat slechts één SPID tegelijkertijd wordt uitgevoerd.



  1. Waarom kan ik SELECT ... FOR UPDATE niet gebruiken met aggregatiefuncties?

  2. Kan Insert en Select LAST_INSERT_ID() niet in dezelfde query worden uitgevoerd?

  3. Is het conceptueel juist om een ​​SELECT MAX (id) enz. te doen om de laatst ingevoegde rij te vinden?

  4. Golang SQL-queryvariabele substitutie