相关疑难解决方法(0)

使用 Oracle XMLType 时处理空值

我正在使用 Oracle 的 XMLType 函数从返回游标的存储过程获取 XML 数据。我的 SQL 看起来像这样:

select 
XMLType(
    package_name.storedProcName('PARAM1', 'PARAM2', 'PARAM3')
) as sresult 
from dual;
Run Code Online (Sandbox Code Playgroud)

在存储过程返回记录的情况下,这工作正常并且我得到了我期望的 XML 结果。但是,当该过程没有返回任何记录时,我收到以下错误:

ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.XMLTYPE", line 334
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我最好返回 null、空白字符串或其他值。当然,我希望避免每次发生这种情况时都引发 Oracle 异常。我可以做什么来实现这个目标?

澄清:我的问题是,当存储过程返回空游标时,XMLType 构造函数会引发异常。如何检测 SQL 查询中的空游标?(不幸的是,我没有机会在 Oracle 端进行编程 - 我正在编写 Java 客户端。)

xml oracle stored-procedures xmltype

2
推荐指数
1
解决办法
7715
查看次数

标签 统计

oracle ×1

stored-procedures ×1

xml ×1

xmltype ×1