互联网服务Db2数据库

DB2 将超过间接SQL级联的最高水平

错误信息:sqlstate :54038 达到了(16)级联间接的SQL语句的最大项目ERROR [54038] [IBM][DB2/NT64] SQL0724N  The activation of "PAMS_PROD.LOGGER$PR_WRITELOG" of type "PROCEDURE " would exceed the maximum level of indirect SQL cascading.以上错误是什么...显示全部

错误信息:

sqlstate :54038 达到了(16)级联间接的SQL语句的最大项目

ERROR [54038] [IBM][DB2/NT64] SQL0724N  The activation of "PAMS_PROD.LOGGER$PR_WRITELOG" of type "PROCEDURE " would exceed the maximum level of indirect SQL cascading.

以上错误是什么原因造成的,是要做系统配置还是程序有问题,程序把commit去掉就报这个错,但commit加上,循环只循环一次,游标失效或打不开了,加了 with hold 也不行。

请高手帮忙看看,谢谢。

收起
参与3

返回jayciedede的回答

jayciededejayciedede技术经理安图特(北京)科技有限公司

Explanation

Cascading of indirect SQL occurs when a trigger activates another trigger (possibly through referential constraint delete rules) or a routine, containing SQL, invokes another routine. The depth of this cascading is limited to 16 for triggers and 64 for routines.

Note that recursive situations where a trigger includes a triggered SQL statement that directly or indirectly causes the same trigger to be activated, or where a routine directly or indirectly invokes itself, is a form of cascading that is very likely to cause this error if there are no conditions to prevent cascading from exceeding the limit.

The object-type is one of TRIGGER, FUNCTION, METHOD, or PROCEDURE.

The object-name specified is one of the objects that would have been activated at the seventeenth level of cascading.

User response

Start with the objects that are activated or invoked by the statement that received this error. If any of these objects are recursive, ensure that there is some condition that prevents the object from being activated or invoked more than the limit allows. If this is not the cause of the problem, follow the chain of objects that are activated or invoked to determine the chain that exceeds the cascading limit.

互联网服务 · 2016-08-09
浏览1224

回答者

jayciedede
技术经理安图特(北京)科技有限公司
擅长领域: 系统运维监控数据库

jayciedede 最近回答过的问题

回答状态

  • 发布时间:2016-08-09
  • 关注会员:2 人
  • 回答浏览:1224
  • X社区推广