sql - 另一个内部的 EXEC 存储过程不等待完成

标签 sql stored-procedures timeout

我有一个存储过程,它在其中执行另一个过程。第二个有时需要一段时间才能运行,但第一个似乎在等待第二个之前就完成了。这导致了数据丢失,而这些数据本应由第二个过程进行更新。第一个过程中有超时限制吗?可以延长吗?

最佳答案

创建一个新表:

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/

相关文章:

oracle - 将存储过程的权限授予另一个 Oracle 用户

android - 按多列请求分组,结果在一行上 - Android SQLite

mysql - Mysql 统计 3 行

SQL Server : Function is returning single char in stored procedure

connection - 打开redis连接太慢

c# - 在 .Net 4.0 中使用 poor mans async/await 构造实现异步超时

sql-server - 特定数据库上的 DataAdapter.fill(dataset) 超时异常

sql - SQL Server 标识函数是否可重现

sql - postgresql:选择所有关联记录都匹配条件的记录

java - 通过Java调用PL\SQL : Registering out parameter as boolean