select c.customer_guid,c.customer_id,c.customername,c.customertype_id,
c.Account_Status,c.paymoney,c.payway,c.numbertype,
s.servicename,s.memstarttime,s.memendtime,s.statusname  from customer c
left join ( 
 select parent_guid,min(memstarttime)memstarttime,max(memendtime)memendtime,
  to_char(substr(wmsys.wm_concat(servicename),1,4000)) servicename,
to_char(wmsys.wm_concat(distinct(t1.servicedesc))) statusname
   from bxg_service  t left join 
bxg_servicestatus t1 on t.status=t1.service_id
  group by parent_guid) s on c.customer_guid=s.parent_guid
left join bxg_servicestatus st on st.service_id=s.servicename
where customertype_id=1 查询出来报“ora-22922 nonexistent LOB value错误如何解决?” 就算是CLOB类型转换成字符型太长了,但是我都substr了4000个字符啊,还是不行 求高手帮忙

解决方案 »

  1.   

    很奇怪的是 我运行里面的 select parent_guid,min(memstarttime)memstarttime,max(memendtime)memendtime,
      to_char(substr(wmsys.wm_concat(servicename),1,4000)) servicename,
    to_char(wmsys.wm_concat(distinct(t1.servicedesc))) statusname
       from bxg_service  t left join 
    bxg_servicestatus t1 on t.status=t1.service_id
      group by parent_guid  子查询 却不报错
      

  2.   

    22922, 00000, "nonexistent LOB value"
    //  *Cause:  The LOB value associated with the input locator does not exist.
    //           The information in the locator does not refer to an existing LOB.
    //  *Action: Repopulate the locator by issuing a select statement and retry 
    //           the operation.
    应该是数据类型问题