那位对MS SQL数据库锁了解?麻烦回答一下偶的疑问

zhlym 2007-07-06 02:20:05
那位对MS SQL数据库锁了解?麻烦回答一下偶的疑问

1、在存储过程里,有10个用户同时对这个过程里的一条UPDATE语句操作,对UPDATE语句如何把一个用户的请求锁定处理完解锁,接着又是下一个用户请求(这样是为了数据统一性)

2、假如这个储过程有多于一条以上UPDATE语句,是不是必需手动加锁?如何做呢?

麻烦大家帮解释一下这个概念和举些例子,谢谢
...全文
299 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhlym 2007-07-25
  • 打赏
  • 举报
回复
由大家的观点得出事务就是一个锁定了?
hb_gx 2007-07-18
  • 打赏
  • 举报
回复
有10个用户同时对这个过程里的一条UPDATE语句操作
----------------------------------------------
如果你的Update语句条件都是一样的,那么你只能一个个的操作,其余的人等前面操作完了才能继续,因为Update语句会自动加上排它锁,不必手动加锁,
如果有多条还是用事务比较好,

如果你的Updata语句条件是主键字段(聚集索引),并且每有人的值不一样,那么你的10个人可以同时操作,互相之间没有任何影响
zhlym 2007-07-18
  • 打赏
  • 举报
回复
顶一次,概念清楚的朋友指点下
zhlym 2007-07-17
  • 打赏
  • 举报
回复
难道事务就是一个锁定?

其实我还是想弄清两个概念题,转到疑难版块,还望大家指点
lamehsl 2007-07-07
  • 打赏
  • 举报
回复
打开一个查询分析器窗口,执行代码:
create table t(id int)

insert t select 1
go

begin tran
update t set id = 2

然后再打开另一个查询分析器窗口,执行代码:
begin tran
update t set id = 3

---------------------------------
立马锁定。
直到第一个事务完成或回滚。
zhlym 2007-07-06
  • 打赏
  • 举报
回复
其实联机帮助里有关“死锁”的内容也看过,只是
一:帮助里并没有相关的例子示例,
二:死锁和我想知道的人为需要锁定应该是不同一回事吧?

还请大家指教
GEPIN 2007-07-06
  • 打赏
  • 举报
回复
楼主去看看联机帮助里有关“死锁”的内容,你会明白你想要的
zhlym 2007-07-06
  • 打赏
  • 举报
回复
不太明白楼上想说明什么呢?如是事务又不是一个完整事务
GEPIN 2007-07-06
  • 打赏
  • 举报
回复
打开一个查询分析器窗口,执行代码:
create table t(id int)

insert t select 1
go

begin tran
update t set id = 2

然后再打开另一个查询分析器窗口,执行代码:
begin tran
update t set id = 3

你看了结果以后,再想想。
zg182 2007-07-06
  • 打赏
  • 举报
回复
我猜是不是用事务的方法~~~~学习ING~~~

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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