如何使存储过程在执行的时候串行化????

wodelove 2004-11-15 05:32:16
一个存储过程包含几条select 一条update语句 ,update 根据前面的select结果判断是否update selecct的那几个表的内容,由于可能多个地点同时调用该存储过程,我想强行使该存储过程串行化,也就是说,在某一个时间里面,只有一个人在执行该存储过程,我使用了 set transaction isolation ,这种锁的级别太高,多人执行就抱错,又没有更好的解决办法法???
...全文
165 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovvver 2004-11-16
  • 打赏
  • 举报
回复
playyuer(退休干部 卧鼠藏虫)的是个好方法!~
davorsuker39 2004-11-16
  • 打赏
  • 举报
回复
关注....
wodelove 2004-11-16
  • 打赏
  • 举报
回复
感觉应该是利用SQL Server的锁机制完成该问题,继续关注....
blackgougou 2004-11-15
  • 打赏
  • 举报
回复
怎么做标记,能否判断某个某个存储过程正在使用吗
请问楼上
lyzzbbgo 2004-11-15
  • 打赏
  • 举报
回复
做个标记
playyuer 2004-11-15
  • 打赏
  • 举报
回复
做个标识表记录,两个字段:
isUsing,Timeout 或者 执行时刻
sp 里先查该表记录!
如果有记录或超时就干事,干完事再删除记录!
chj733 2004-11-15
  • 打赏
  • 举报
回复
设置事务隔离级别并不能限制只有一个用户能调用存储过程,应该在线形处理和并发性能之间寻找平衡点,利用BEGIN TRAN ,COMMIT,ROLLBACK应该可以作到
了缘 2004-11-15
  • 打赏
  • 举报
回复
如果要有隔离状态的话,用一个事务吧,这样会更好
begin tran

--commit
--rollback
了缘 2004-11-15
  • 打赏
  • 举报
回复
@sql='select ....'+'update.....'+...
exec(@sql)

34,588

社区成员

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

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