锁定SQL Server存储过程

我有一个存储过程,它根据某些条件操作整数表字段(表示序列号) – 条件可以将字段重置为零.在多用户环境中,有一个用户可能会在另一个用户更新之前引用该字段,因此我希望通过将存储过程限制为一次仅运行1个用户来防止这种情况.有没有办法在我的存储过程中执行此操作?
如果将语句包装在事务中,它们都将以原子方式执行.但是,您可能需要根据需要增加 transaction isolation level.

例如,如果您在执行一堆语句时不希望任何其他人读取或写入特定表,则顶部的此语句将使这种情况发生:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

除非绝对必要,否则我不建议升级到此级别,因为它基本上会破坏并发优势.

相反,请考虑使用较低的值或重新设计逻辑以消除关键部分的需要.

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金