锁的问题

koumingjie 2011-09-02 11:12:39
我想实现:在我编辑一条记录的同时(也就是select一条记录后),其他用户无法select到该记录;直到编辑成功,提交记录后,其他用户才能select到该记录,进行编辑。
...全文
73 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fredrickhu 的回复:]
set transaction isolation level seralizable
[/Quote]

不行吧

搬凳,听小F的

--小F-- 2011-09-02
  • 打赏
  • 举报
回复
set transaction isolation level seralizable
koumingjie 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nbdba 的回复:]
这个,
首先是需求不合理,一旦有人读出编辑而干别的事了,你整个库在等他一人?
其次,修改事务的隔离级别解决不了问题

你必须在编辑前显式打开一个事务,SELECT时明确加排它锁,编辑成功后提交事务。但是这么做还是犯了事务的一大忌,就是在事务操作中不能包含客户端交互。
[/Quote]

是不合理,我就是想问问,能不能这样弄,我在select的一条记录后,不管我是不是去干别的事了,反正我先select了,其他人就看不到该记录;但是对于表中的其它记录是可以进行修改的
koumingjie 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nbdba 的回复:]
这个,
首先是需求不合理,一旦有人读出编辑而干别的事了,你整个库在等他一人?
其次,修改事务的隔离级别解决不了问题

你必须在编辑前显式打开一个事务,SELECT时明确加排它锁,编辑成功后提交事务。但是这么做还是犯了事务的一大忌,就是在事务操作中不能包含客户端交互。
[/Quote]

呵呵,这个需求是我想出来的
koumingjie 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
事务的隔离级别调整为可串行化
[/Quote]

能能具体说说吗?
NBDBA 2011-09-02
  • 打赏
  • 举报
回复
这个,
首先是需求不合理,一旦有人读出编辑而干别的事了,你整个库在等他一人?
其次,修改事务的隔离级别解决不了问题

你必须在编辑前显式打开一个事务,SELECT时明确加排它锁,编辑成功后提交事务。但是这么做还是犯了事务的一大忌,就是在事务操作中不能包含客户端交互。



--小F-- 2011-09-02
  • 打赏
  • 举报
回复
事务的隔离级别调整为可串行化
koumingjie 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nbdba 的回复:]
这个,
首先是需求不合理,一旦有人读出编辑而干别的事了,你整个库在等他一人?
其次,修改事务的隔离级别解决不了问题

你必须在编辑前显式打开一个事务,SELECT时明确加排它锁,编辑成功后提交事务。但是这么做还是犯了事务的一大忌,就是在事务操作中不能包含客户端交互。
[/Quote]

我想问问,你是如何防止,一个用户在编辑数据时,另一个用户将该数据删除掉的情况
koumingjie 2011-09-02
  • 打赏
  • 举报
回复
沉了!!!
cd731107 2011-09-02
  • 打赏
  • 举报
回复
这种情况一般使用悲观锁定,楼主参考一下
koumingjie 2011-09-02
  • 打赏
  • 举报
回复
都午睡去了吗?

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧