根据
FOR UPDATE子句的列表不限制您只更改列出的列。锁仍然放置在所有行上;OF list只是给您提供了一种更清楚地记录您想要更改的内容的方法。如果您只是在查询中声明UPDATE,并且在OF关键字之后不包括一个或多个列,那么数据库将锁定FROM子句中列出的所有表中的所有标识行。这意味着,当我用FOR UPDATE OF SAL指定列名时,其他用户只能使用SAL列进行更改。但是,实际上,情况并非如此。我还在另一次会议上锁定时间。有谁能解释一下。
我的想法是用一行来扩展队列表,该行显示进程已经在处理它。处理应用程序将首先用它的idetifyer更新表,然后请求更新的记录。processing is nullend transaction
在处理之后,它将表的processing列设置为其他值第三:在MSSQL中,锁定是基于行的,但是在锁定一定数量的行之后,锁将扩展到整个表。