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