【发布时间】:2025-12-11 04:30:01
【问题描述】:
我在 Oracle 数据库的包中有一个存储过程,它有 2 个输入参数 + 1 个输出 CLOB 参数。如何在 Toad 中查看输出? (最好是只拥有执行/选择权限的用户)
解决方案:
DECLARE
my_output_parameter CLOB;
BEGIN
my_package.my_stored_proc(1, 2, my_output_parameter);
DBMS_OUTPUT.PUT_LINE(my_output_parameter);
END;
不要忘记作为脚本执行,而不仅仅是执行语句,结果会出现在 DBMS 输出窗口中,而不是数据网格中。
【问题讨论】:
-
这对您有帮助吗:*.com/questions/3790379/…
-
@JorgeCampos 我尝试将 DBMS_LOB.SUBSTR 写入表并读出,但结果仍与 dbms_output.put_line 相同
-
您确定返回的
CLOB中实际上还有更多内容吗?您可以使用dbms_lob.getlength(your_clob)将CLOB的长度打印到标准输出并查看它是否比<MyXMLElement></MyXMLElement>的长度长吗? -
@PrzemyslawKruglej Aaaaaaaaaaaarrrrrrrrrggggggghhhhhhhhhh 这促使我做更多的挖掘,似乎 INPUT 参数已从日期更改为某些特定格式的 varchars。当我从存储的 proc 中取出 select 并运行它时,它运行良好,但是当我在输入参数中包含日期格式时 - 只得到了那个空的 xml 字符串!谢谢大佬!
-
没问题,我很高兴能帮上忙 :)
标签: sql oracle stored-procedures toad clob