我有一个 T-Sql 语句如下;
Insert into Table1
Select * From Table2
我想知道运行顺序。插入是在开始之前等待 select 语句完成,还是在 select 语句开始返回值时启动,并期望 select 语句中的新记录继续。
这是一个普通的存储过程,没有使用事务。
最佳答案
您所拥有的实际上是一个声明。它只会将开始插入时 Table2 中存在的记录插入到 Table2 中。否则 ACID 的属性不适用,并且您会遇到隔离(如果 sp 同时运行两次怎么办)和持久性问题。 SQL Server 将通过锁定强制执行此操作。
关于sql - T-Sql算法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3880589/