Skip to the content.

ORA-00997: illegal use of LONG datatype

LONG 타입이 있음

  1. TO_LOB() 함수를 사용
     --해당 컬럼에 TO_LOB() 함수를 사용
     CREATE TABLE table_name_create AS
     SELECT long_data FROM table_name; -- X
    
     CREATE TABLE table_name_create AS
     SELECT TO_LOB(long_data) FROM table_name; -- O
    
     INSERT INTO table_name_insert
     SELECT long_data FROM table_name; -- X
    
     INSERT INTO table_name_insert
     SELECT TO_LOB(long_data) FROM table_name; -- O
    
  2. 위 함수로 되지 않을 경우 CURSOR 를 사용
     DECLARE
     BEGIN
         DECLARE
         CURSOR cursor_name IS SELECT long_data FROM table_name
         BEGIN
             FOR i IN cursor_name LOOP
             INSERT INTO table_name_insert VALUES(i.long_data);
             END LOOP;
         END;
     END;