我有一个存储过程,它在其中执行另一个过程。第二个有时需要一段时间才能运行,但第一个似乎在等待第二个之前就完成了。这导致了数据丢失,而这些数据本应由第二个过程进行更新。第一个过程中有超时限制吗?可以延长吗?
最佳答案
创建一个新表:
LogInfo
LogID int auto number/identity primary key
LogDate date default current date and time
LogValue string
在每个过程中添加如下插入:
INSERT INTO LogInfo (LogValue) VALUES ('starting procedure A')
...
INSERT INTO LogInfo (LogValue) VALUES ('Calling procedure B')
...
INSERT INTO LogInfo (LogValue) VALUES ('ending procedure A')
然后这样做
SELECT * FROM LogInfo ORDER BY LogID
看看发生了什么,希望您会看到这一点,因为过程是按顺序运行的,并且 B 无法在 A 之后完成:
starting procedure A
Calling procedure B
starting procedure B
ending procedure B
ending procedure A
关于sql - 另一个内部的 EXEC 存储过程不等待完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501146/