Můžete získat rasovou podmínku.
Lze to provést jedním příkazem:
- Můžete přiřadit v AKTUALIZACI
- Nápovědy k uzamčení umožňují dalšímu procesu přeskočit tento řádek
- Klauzule OUTPUT vrací data volajícímu
Zkuste toto... (upravit:zámek odstraněn)
Update TOP (1) ServerLoginUsers WITH (ROWLOCK, READPAST)
OUTPUT INSERTED.*
SET
AssignedTo = @User, AssignedToDate = getdate(), SourcePool = @UserPool
WHERE
AssignedTo is null and [TsServer] = @Server -- not needed -> and UserName = @ServerUser
Pokud ne, možná budete potřebovat samostatný výběr
Update TOP (1) ServerLoginUsers WITH (ROWLOCK, READPAST)
SET
-- yes, assign in an update
@ServerUser = UserName,
-- write
AssignedTo = @User, AssignedToDate = getdate(), SourcePool = @UserPool
OUTPUT INSERTED.*
WHERE
AssignedTo is null and [TsServer] = @Server -- not needed -> and UserName = @ServerUser
SELECT ...
Další informace naleznete v tomto:Současné podmínky fronty procesů serveru SQL