使用XMLTable将Big Clob转换为Table

问题描述

我正在尝试将存储过程中的输入clob变量转换为xmltype,然后使用XMLTable尝试将其与数据库中的其他表联接,这是我的代码

with clientes_data as (SELECT clientes.identificacion,clientes.tipodoc,clientes.cuentas
                              from xmltable('/Clientes/Cliente'
                                passing xmltype(to_clob('<Clientes>
<Cliente><NumeroIdentificacion>94406495</NumeroIdentificacion><TipoIdentificacion>CC</TipoIdentificacion></Cliente>
<Cliente><NumeroIdentificacion>1136881480</NumeroIdentificacion><TipoIdentificacion>CC</TipoIdentificacion></Cliente>
</Clientes>'))
                                columns 
                                  identificacion varchar2(10) path 'NumeroIdentificacion',tipodoc varchar2(2) path 'TipoIdentificacion',cuentas xmltype path 'Cuentas') clientes),cuentas_Data as (
                                SELECT cl.identificacion,cl.tipodoc,cuentasT.*
                                from clientes_data cl
                                LEFT JOIN
                                      xmltable('/Cuentas/Cuenta'
                                      passing cl.cuentas
                                        columns
                                          numCta varchar2(10) path 'Numero',tipoCta varchar2(3) path 'Tipo') cuentasT ON 1=1)
                      select * from cuentas_Data;
                      --select count(*) from cuentas_Data;

但是我开始遇到这个错误字符串文字太长...当输入(传递部分)长于4000个字符时,字符串文字长了4000泰恩,所以,我“有点困惑,是因为它假设XMLTable具有参数xmltype(类型为Clob大小),但是,我假设实际上是varchar2(4000)?

对此表示感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)