db2 - 在 DB2 SQL 中,如何终止已经陷入无限循环的递归函数调用?

标签 db2 ibm-midrange db2-400

如果我有一个递归的 DB2 SQL 过程或函数,或者它有一个棘手的循环,并且该进程已变得无限,那么如果它已经在运行,我该如何杀死它?这是 DB2-for-i v7.3,使用 DBeaver SQL 进行开发。

在 SQL IDE 中简单地取消查询就足够了吗?我过去曾使用过长的查询来执行此操作,并且我总是收到“查询已取消”的通知。但是,对于无限循环或递归的过程,是否存在任何风险,该过程可能仍会在后台继续进行,直到出现崩溃并且 DBA 工作人员用干草叉和燃烧的 torch 敲打我的门..?

编辑:有人建议我的问题与 this one 重复。 ,但我在发帖之前读过那一篇,它不一样。这个问题是如何从一开始就防止无限循环的发生,但我的问题是如何杀死已经发生的无限循环。

最佳答案

取消应该可以,但是如果您可以在 WRKACTJOB 中找到正确的作业,那么您可以使用 OPTION(*IMMED) 结束它。

服务器作业应位于子系统 QUSWRRK 中,并命名为 QZDASOINIT。您要查找的那个将有您的用户 ID,如果它正在循环,它将具有 RUN 状态。这些工作通常在等待工作时就坐在 TIMW 上。这些是预启 Action 业,如果您手动结束一项作业,它会在需要时返回。

关于db2 - 在 DB2 SQL 中,如何终止已经陷入无限循环的递归函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58018531/

相关文章:

message - 如何捕获AS400系统错误消息并将其用作CL中我自己的程序消息?

java - 在 AS400 上显示 DB2 中的 BLOB 内容

sql - DB2 LIKE 匹配模式

DB2 访问非唯一表中的特定行以进行更新/删除操作

SQL使用第二个表中的最小值连接两个表

db2 - DB2 中的确定性函数

c# - 调用 RPG 程序的 iSeries 存储过程不向程序返回值

sql - 向 DB2/400 文件添加字段描述

sql - SQL Developer“与连接图的其余部分断开连接”

python - [IBM][CLI 驱动程序] SQL10013N 无法加载指定的库 "GSKit Error: 207"。 SQLSTATE=42724 SQLCODE=-10013