问题描述
我正在尝试将存储过程中的输入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 (将#修改为@)