暂停程序执行

Pause a procedure execution

像javascript和c#这样的编程语言有暂停当前线程执行的方法,有sleep()pause()

如何在 Firebird 程序处于 运行 时暂停它?

您可以使用暂停。它将暂停过程执行,直到您下一次从结果集中获取。使用 SELECT FOR UPDATE 以避免 server-side 缓冲。

除了按照 user13964273 的建议使用 SUSPEND 之外,无法在 Firebird PSQL 本身中暂停执行或 'sleep'。使用 SUSPEND 休眠只能与执行提取的应用程序密切合作,因此这实际上不是一个合适的解决方案。

Firebird PSQL 不是 general-purpose 语言。想要在存储过程中暂停对我来说没有多大意义。此外,在 SuperServer 模式下,实际上在存储过程中休眠(例如使用 UDF)可能 - 据我了解 Firebird 的 inner-workings - 阻止与同一数据库的其他连接正常工作。