gpt4 book ai didi

oracle - 为什么我的 VARCHAR2 在我的 PL/SQL 中被转换为 LONG?

转载 作者:行者123 更新时间:2023-12-04 05:11:44 25 4
gpt4 key购买 nike

我正在使用 PL/SQL Developer 9.0.6,在 Oracle 11g 数据库上工作。

我在一个包中有一个过程,它创建了一些动态 SQL 来运行 execute immediate .变量 vSQL声明为 varchar2(4000) .我的程序构建并运行 vSQL正确,并返回 ref cursor通过 out参数。

然而,在调试我的程序时,发生了一些意想不到的事情:我在 vSQL 上设置了监视。 , 当长度 vSQL达到 1000 或更大,Watch 窗口中的值从 vSQL 的内容改变到文字“(长值)”,我无法再查看 vSQL 的内容.

为什么会发生这种情况?有什么办法可以转换vSQL以便我在调试程序时仍然可以查看它?

最佳答案

正如其他人指出的那样,PL/SQL Developer 不能在调试器中显示 4000 个字符。这可能是 Oracle 包 DBMS_DEBUG 的限制。

作为解决方法,您可以使用 Oracle SQL Developer,它使用不同的调试器 DBMS_DEBUG_JDWP。一般来说,PL/SQL Developer 比 Oracle SQL Developer 好一千倍。但是,如果您需要调试大型字符串或集合,那么 Oracle SQL Developer 的效果会更好。

关于oracle - 为什么我的 VARCHAR2 在我的 PL/SQL 中被转换为 LONG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14838274/

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