gpt4 book ai didi

sql - 锁定 SQL Server 存储过程

转载 作者:行者123 更新时间:2023-12-04 23:46:51 25 4
gpt4 key购买 nike

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

最佳答案

如果将语句包装在事务中,它们将全部自动执行。您可能需要增加 transaction isolation level不过,这取决于您的需要。

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

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

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

相反,请考虑使用更低的东西或重新设计您的逻辑以消除对关键部分的需要。

关于sql - 锁定 SQL Server 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/462434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com