gpt4 book ai didi

sql-server - 锁定表中的一行 SQL Server

转载 作者:行者123 更新时间:2023-12-01 06:32:10 26 4
gpt4 key购买 nike

我需要锁定表中的一行,以便在我运行过程时没有人可以读取这一行。我正在使用 BEGIN TRAN在这个程序中。因此,我试图阻止的这条记录在此过程中未提交。
是否可以?

最佳答案

取决于您的存储过程的目的是什么:
- 如果它修改了提到的行,您可以基于transaction levels

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

BEGIN TRANSACTION

--UPDATE/INSERT/DELETE your row here

...

COMMIT TRANSACTIONSET TRANSACTION ISOLATION LEVEL REPEATABLE READ


- 使用 lock hints

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

BEGIN TRANSACTION

SELECT column1, column2

FROM yourTable WITH (ROWLOCK)

WHERE ID = YourRecordId

...

COMMIT TRANSACTION

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ

关于sql-server - 锁定表中的一行 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19145084/

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