我有一个要解决的问题。我需要临时锁定对表的读取。
这是场景。
我必须阅读一个表格来确定以基数开头的最大销售订单。然后我必须在小数点后添加数字。因此,如果我们有订单 123.1 和 123.2,我需要确定我需要创建的下一个订单是 123.3。然后我调用 API 来创建这个订单号。
问题是当两个用户同时想要向基本 123 订单号添加新的销售订单时。一个用户的逻辑判断号码是123.3,调用API创建订单;一旦创建,我提交记录。但是当 API 调用开始时,第二个用户的逻辑正在尝试确定下一个号码,并且根据时间,它也可以选择 123.3 作为下一个可用号码。
然后,一旦第二个用户的逻辑调用 API,该号码就会重复并出错。
我想让第一个逻辑在确定订单号并创建它时锁定表以防止读取。然后我可以释放锁,第二个用户可以继续。
我读过的一切似乎都在说我无法阻止对表的读取。