ORA-22922: 존재하지 않는 LOB

2780 단어
세부 정보:
019-03-29 16:40:08 [ERROR][[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)']
[SqlExceptionHelper]-[logExceptions] ORA-22922:   LOB  
ORA-06512:   "SYS.DBMS_LOB", line 1092
ORA-06512:   line 1

문제 원인: 이 오류가wmsys를 사용한 경우가 많습니다.wm_concat과 함께 그룹,distinct 또는 유니온을 사용했는데 원래 두 가지는 문제가 없었다. 문제는 다음과 같다.Oracle Database 10g Enterprise Edition 릴리스 10.2.0.5.0 이후 버전 wmsys.wm_concat에서 조회한 것은 LOB 유형입니다.2.oralce의 SQL 문장에서 LOB 필드를 조회하면distinct,union,group by 등 키워드를 사용할 수 없습니다.
오류 sql:
select tt.uam_org_id, wmsys.wm_concat(to_char(a.cnname)) as mappername
  from ro_uam_org_mapper tt
  left join ro_org a
    on a.orguuid = tt.ro_org_id
 group by tt.uam_org_id

수정 후 sql:
SELECT tt.uam_org_id,
       listagg(a.cnname, ',') WITHIN GROUP(ORDER BY a.cnname) mappername
  from ro_uam_org_mapper tt
  left join ro_org a
    on a.orguuid = tt.ro_org_id
 GROUP BY tt.uam_org_id

확장: clob에서 String(문자열) to_로 변환char(필드) 한계: clob가 비어 있으면 오류를 보고하는 것을 추천합니다dbms_lob.substr (필드)

좋은 웹페이지 즐겨찾기