【问题标题】:Execution order after a stored procedure in SQL ServerSQL Server 中存储过程之后的执行顺序
【发布时间】:2015-10-01 13:51:37
【问题描述】:

我有一个存储过程,可以在表中插入一些内容。如果我必须重复执行相同的存储过程,则这些执行中的每一个都会在其结束后反映表中的插入,或者可能发生每个插入发生在存储过程执行结束之后并与第二个实例的执行重叠的情况那个存储过程。

希望我说清楚了,如果不是请纠正我

谢谢

【问题讨论】:

    标签: sql-server stored-procedures transactions execution


    【解决方案1】:

    在存储过程中完成的任何工作,除非显式回滚或由于错误而自动回滚,否则在存储过程退出时将在那里。一旦存储过程退出,它就无法再做任何工作了。

    这意味着在单个会话中,存储过程的任意数量的执行都是串行处理的——一个接一个,没有重叠。

    但是,跨多个会话/连接时,如果在其他会话/连接中同时运行相同的代码(存储过程甚至临时 SQL),则存储过程中完成的工作肯定会重叠。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-20
      • 2015-10-29
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多