如果行不存在,我需要在表中插入一行,我需要使用存储过程来执行此操作。因此,我需要选择检查该行是否已经存在,然后进行插入。我要避免的是竞争条件,其中存储过程的 2 个调用者可能会看到该行不存在,然后都尝试插入该行。
我解决这个问题的第一个想法是锁定表,但不幸的是你不能LOCK TABLE
在存储过程中发出。
我想避免在客户端 (C#) 捕获重复的密钥插入异常。
任何锁定表格或替代解决方案的方法?
如果行不存在,我需要在表中插入一行,我需要使用存储过程来执行此操作。因此,我需要选择检查该行是否已经存在,然后进行插入。我要避免的是竞争条件,其中存储过程的 2 个调用者可能会看到该行不存在,然后都尝试插入该行。
我解决这个问题的第一个想法是锁定表,但不幸的是你不能LOCK TABLE
在存储过程中发出。
我想避免在客户端 (C#) 捕获重复的密钥插入异常。
任何锁定表格或替代解决方案的方法?