首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

小弟我在存储过程中把一段SQL包含在事务中来执行,是不是就可以避免多人同时执行这段SQL

2012-02-02 
我在存储过程中把一段SQL包含在事务中来执行,是不是就可以避免多人同时执行这段SQL?我存储过程中有个多个

我在存储过程中把一段SQL包含在事务中来执行,是不是就可以避免多人同时执行这段SQL?
我存储过程中有个多个更新某个表的语句,我不想让多人同时执行这些语句,于是把它们包含在事务语句中,这样,是不是就不用再上锁,达到了并发控制的目的呢?

即:
begin   tran
     
      delete   ....
      update.....

commit   tran

[解决办法]
那要看SQL Server对事务中第一条语句加的是什么锁、什么粒度
[解决办法]
差不多.

不过, 锁的是资源(例如, 你的update, 锁的是表, 或者是粒度更细的页或者行)
所以基本上, 其他上还是可以执行这些语句, 只是因为相关的资源被锁定, 所以被阻塞不往下执行而已.


[解决办法]
我认为应该是这样
长时间处于等待处理状态的事务会阻止其他用户访问锁定的资源。

热点排行
Bad Request.