gpt4 book ai didi

sql - ORA-00036 : maximum number of recursive SQL levels (50) exceeded after configuring toplink to use bind variables

转载 作者:行者123 更新时间:2023-12-02 23:19:02 26 4
gpt4 key购买 nike

我有一个使用 Toplink 进行持久化和 Oracle 数据库的应用程序。最近我遇到了性能问题,特别是在数据库/查询级别。我在一堆触发器和存储过程中有一大段逻辑,写得很糟糕,并提供了针对突变触发器问题的解决方法。该应用程序已经投入生产几年了,考虑到获得新版本批准和其他更高优先级的官僚机构,重写此代码是最后的解决方案。所以我正在寻找快速解决方案。

提高性能的一种解决方案是使用绑定(bind)变量。我的问题是,在toplink中的sessions.xml中添加bind-all-variables和cache-all-statements之后,在某个UI上,触发了蹩脚的代码,并且在进行此配置更改之前工作得很好,我收到此错误:

ORA-00036: 超过最大递归 SQL 级别数 (50)

我的问题是:为什么只有在添加绑定(bind)变量设置后才显示此错误?我能做些什么来让它与绑定(bind)变量一起工作,而不改变蹩脚的代码?

最佳答案

“针对突变触发问题的解决方法”

这听起来很可怕,因为大多数解决方法都围绕自主事务展开,这些事务 (a) 工作得不太好,(b) 可能被视为递归 SQL。

另一方面,在 PL/SQL 中拥有逻辑通常意味着问题不会是绑定(bind)变量,因为您需要在 PL/SQL 中做出很大的努力才能不使用绑定(bind)。

在这种情况下,我想说你的时间最好花在用坚实的基础解决/替换任何变异表解决方法上,而不是绑定(bind)变量问题。

关于sql - ORA-00036 : maximum number of recursive SQL levels (50) exceeded after configuring toplink to use bind variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6070032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com