我需要在VARCHAR2下面的查询在视图中显示的结果。 我试过如下使用dbms_lob.substr但随后它给了我错误“ORA-22922:不存在LOB值”。
dbms_lob.substr((选择从NEXUS_TRAC_TRAVEL_PLAN_DTL其中nexus_year = trdata.nexus_year和nexus_seq_no = trdata.nexus_seq_no),4000,1 wm_concat(tr_country)),
选择查询的CLOB返回结果。
我需要在VARCHAR2下面的查询在视图中显示的结果。 我试过如下使用dbms_lob.substr但随后它给了我错误“ORA-22922:不存在LOB值”。
dbms_lob.substr((选择从NEXUS_TRAC_TRAVEL_PLAN_DTL其中nexus_year = trdata.nexus_year和nexus_seq_no = trdata.nexus_seq_no),4000,1 wm_concat(tr_country)),
选择查询的CLOB返回结果。
WM_CONCAT
返回一个VARCHAR2
,而不是一个CLOB
。 所以,你可以删除该调用DBMS_LOB.SUBSTR
。
如果你可以升级到11.2或更高listagg(...)
功能可以节约你的时间如下所述: https://stackoverflow.com/a/39325808/1915920