본문 바로가기

Server Oriented/DB-Oracle

ora-00997, long data 유형은 사용할 수 없다..? long raw 작업시 to_lob 고려

2개의 테이블이 동일하게 생겼는데 insert ~ select 문을 사용하니까, ora-00997 오류 발생.

확인해 보니 Long Data 유형을 사용할 수 없다고 하는데..

칼럼에 Long raw 가 하나 들어가다 보니 발생.


네이버에 검색해 보니 Procedure 문에서 커서를 사용하면 된다는데..

이리저리 해 보아도 안 되네요. 그리고 쿼리문으로는 안 되는 것인가..?


옆에 있는 동료에게 문의해 보니 to_lob 함수를 사용해 보라는데..

헐, 그냥 되네요.. ~.


아래 쿼리문에서 문제의 long raw 칼럼이 columnB 라고 하면,

insert into tableA(columnA, columnB, ...)

select columnA, to_lob(columnB), ...

  from tableB a

 where columnA > ' '

   and not exists

       (select 1 from tableA

         where columnA = a.columnA )

   and rownum < 10000

;