sql-server - select语句上的sql行锁

标签 sql-server tsql locking pessimistic-locking

我有一个 ASP.Net 网页,用户可以在其中选择一行进行编辑。我想在该行上使用行锁,一旦用户完成编辑并更新,另一个用户就可以编辑该行,即如何使用行锁以便只有一个用户可以编辑一行?

谢谢

最佳答案

您无法使用数据库引擎锁来锁定这样的行。

大多数其他策略将依赖于保持连接打开(例如 sp_getapplock),这在网络应用程序中是无意义的。

即使您在该行上设置了标志,如果用户只是在编辑过程中关闭浏览器,会发生什么?

我建议使用时间戳/行版本列来检测其他 session 中行的更改。

关于sql-server - select语句上的sql行锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2674018/

相关文章:

sql - SQL Server 中的 Case 语句

mysql - 多对多关系 : better OTLT or 48 association/junction tables?

sql - 如何在 SQL Server 中使用 JOIN 执行 UPDATE 语句?

java - 在Java中,我可以依靠引用分配是原子的来实现写时复制吗?

c# - 将 Windows Phone 8 连接到 SQL 服务器

c# - 如何在 Entity Framework 投影中有效地获取远距离关系

sql - 如何使用join编写 "not in ()"sql查询

SQL Server Full Text Search Condition for FORMSOF for phrase 排除停用词

c++ - mutex.timed_lock(duration) 和 boost::timed_mutex::scoped_lock 之间的区别 scoped_lock(mutex, duration)

java - Spring + Hibernate + Redis 的分布式锁