当前位置:  开发笔记 > 编程语言 > 正文

锁定SQL Server存储过程

如何解决《锁定SQLServer存储过程》经验,为你挑选了1个好方法。

我有一个存储过程,它根据某些条件操作整数表字段(表示序列号) - 条件可以将字段重置为零.在多用户环境中,有一个用户可能会在另一个用户更新之前引用该字段,因此我希望通过将存储过程限制为一次仅运行1个用户来防止这种情况.有没有办法在我的存储过程中执行此操作?



1> Michael Hare..:

如果将语句包装在事务中,它们都将以原子方式执行.但是,您可能需要根据需要增加事务隔离级别.

例如,如果您在执行一堆语句时不希望任何其他人读取或写入特定表,则顶部的此语句将实现此目的:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

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

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

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有