SQL 服务器中存储过程后的执行顺序
Execution order after a stored procedure in SQL Server
我有一个存储过程可以向 table 执行一些插入操作。如果我必须重复执行同一个存储过程,则这些执行中的每一个都会在它结束后反映 table 中的插入,或者可能发生每次插入都发生在存储过程执行结束之后并与执行重叠该存储过程的第二个实例。
希望我说清楚了,如果不清楚请指正
谢谢
在存储过程中完成的任何工作,除非明确回滚或由于错误自动回滚,否则在存储过程退出时都会存在。一旦存储过程退出,就没有它可以做的更多工作。
这意味着在一个会话中,存储过程的任意数量的执行都是串行处理的——一个接一个,没有重叠。
但是,在多个会话/连接中,如果同一代码(存储过程甚至临时 SQL)同时 运行,那么在存储过程中完成的工作肯定会重叠跨其他会话/连接的时间。
我有一个存储过程可以向 table 执行一些插入操作。如果我必须重复执行同一个存储过程,则这些执行中的每一个都会在它结束后反映 table 中的插入,或者可能发生每次插入都发生在存储过程执行结束之后并与执行重叠该存储过程的第二个实例。
希望我说清楚了,如果不清楚请指正
谢谢
在存储过程中完成的任何工作,除非明确回滚或由于错误自动回滚,否则在存储过程退出时都会存在。一旦存储过程退出,就没有它可以做的更多工作。
这意味着在一个会话中,存储过程的任意数量的执行都是串行处理的——一个接一个,没有重叠。
但是,在多个会话/连接中,如果同一代码(存储过程甚至临时 SQL)同时 运行,那么在存储过程中完成的工作肯定会重叠跨其他会话/连接的时间。