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

关于存储过程执行

2013-08-09 
求助关于存储过程执行本帖最后由 yyr513 于 2013-08-07 15:06:08 编辑最近有个问题困扰了我很久,一直想不

求助关于存储过程执行
本帖最后由 yyr513 于 2013-08-07 15:06:08 编辑 最近有个问题困扰了我很久,一直想不通求助。
在存储过程中
例如

if not exists (select 1 from dbo.test)
begin
   update dbo.a
   set n=1
   
   add dbo.b
   (
      x,y
   )values
   (1, 2)

   update dbo.c
   set z =10
end
假设if条件满足,有没有可能出现这个存储过程 只执行 update dbo.a然后后面都不执行的?
或者执行了update dbo.a 和update dbo.c  然后中间的add不执行的情况?

我最近老是碰到这种情况,找不到原因!

[解决办法]
顺序执行,有可能上面的执行了,中间的出错了或者断电了,下面的就不执行了。所以存储过程中为了保证数据的一致性,一般都要用事物,要么全部执行,要么一个不执行。

热点排行