I basically have an application that has, say 5 threads, which each read from a table. The query is a simple SELECT TOP 1 * from the table, but I want to enforce a lock so that the next thread will select the next record from the table and not the locked one. When the application has finished it’s task, it will update the locked record and release the lock and repeat the process again. Is this possible?
Share
The kind of approach I’d recommend is to have a field in the record along the lines of that indicates whether the record is being processed or not. Then implement a “read next from the queue” sproc that does the following, to ensure no 2 processes pick up the same record:
For more info on these table hints, see MSDN