【发布时间】:2018-12-12 11:10:03
【问题描述】:
我有一个问题:
SELECT xmlelement("Response",
xmlelement("hist",
xmlelement("details",
xmlagg(x.node)))
) AS XML_HIST,
x.cnt
FROM (
SELECT null AS node,
COUNT(1) OVER() AS cnt
FROM dual
--WHERE 1=2
) x
GROUP BY x.cnt
查询 x 是针对这个问题(敏感数据)进行的。
当查询 x 返回任何数据时,一切都很好。但是当表中没有记录时(这里:WHERE 1=2),我在包中的代码失败并出现错误 no_data_found。
我正在尝试寻找与
不同的灵魂<<inner_block>>
begin
SELECT..
exception
when others then...
end inner_block;
我试图做类似的事情
SELECT MAX(xmlelement("docGetPackageHistoryResponse",
xmlelement("histories",
xmlelement("contract-history",
xmlagg(x.node)))
)) AS XML_HIST,
MAX(cnt)
但我收到错误 ORA-22950: cannot ORDER objects without MAP or ORDER method.
有什么想法吗? 谢谢:)
请不要问我“为什么要避免内部块解决方案?”之类的问题。
【问题讨论】: