如何在调试 PL SQL 脚本时获得 clob 的全部价值

Posted

技术标签:

【中文标题】如何在调试 PL SQL 脚本时获得 clob 的全部价值【英文标题】:how to get full value of clob while debugging PL SQL script 【发布时间】:2013-09-10 08:40:15 【问题描述】:

我正在使用 TOAD 编辑器编写 PL/SQL 脚本。在调试我的脚本时,我看不到 clob 变量的值。我尝试添加 watch to_char(my_clob_variable),但是没有用。

有没有办法通过 toad 的功能查看 clob 值,或者有其他方法可以做到这一点? (使用 dbms_output 行更新脚本除外)

【问题讨论】:

【参考方案1】:

我为此苦苦挣扎了一段时间,并实施了 PL/SQL 解决方案,但后来意识到在 Toad 中,您只需双击结果网格单元格,它就会打开一个包含文本内容的编辑器。

【讨论】:

【参考方案2】:
DECLARE
    l_lob CLOB;
BEGIN
    DBMS_LOB.CREATETEMPORARY(l_lob, TRUE, DBMS_LOB.SESSION);

    l_lob := 'Oracle is an American multinational computer technology 
              corporation headquartered in Redwood City, California, United States.';

    IF DBMS_LOB.SUBSTR(l_lob, 6, 1) = 'Oracle' THEN
        DBMS_OUTPUT.PUT_LINE('... code here ...');
    END IF;

    DBMS_LOB.FREETEMPORARY(l_lob);
END;
/*
Result:

... code here ...

*/

【讨论】:

以上是关于如何在调试 PL SQL 脚本时获得 clob 的全部价值的主要内容,如果未能解决你的问题,请参考以下文章

插入 CLOB 列时出错:ORA-06502:PL/SQL:数字或值错误

在 PL/SQL 中插入 clob 数据时出错

如何克服 CLOB 空间不足 - ORA-06502: PL/SQL: numeric or value error

如何使用 PL-SQL 查询包含 XML 的 Clob 节点

如何在不修改数据库模式的情况下仅使用 PL/SQL 更新具有大值的 CLOB?

如何修复 PL/SQL:ORA-00932:不一致的数据类型:预期的 CLOB 得到了 -