필드 종 류 를 VARCHAR 2 에서 CLOB 로 변경 하 는 방법

963 단어 sql각본

    데이터베이스 문자 집합 을 UTF 8 로 변경 한 이후 원래 VARCHAR 2 (4000) 필드 에 2000 개의 한 자 를 수용 할 수 없 게 되 었 기 때문에 데이터 형식 을 CLOB 로 바 꿔 야 합 니 다.CLOB 는 이론 적 으로 4G 바이트 용량 을 지원 한다.
   
직접 실행
 
ALTER TABLE SAMPLE_TBL MODIFY column_name CLOB;

 
유사 성 이 발생 할 수 있다
 
ORA-22858:         。

 
잘못VARCHAR 2 를 CLOB 형식 으로 직접 변경 할 수 없습니다.
따라서 다음 PL / SQL 스 크 립 트 를 실행 하여 필드 의 종 류 를 VARCHAR 2 에서 CLOB 로 변경 하 는 데 성공 하 였 습 니 다.
더 간편 한 방법 이 있 었 으 면 좋 겠 어 요.

ALTER TABLE SAMPLE_TBL RENAME COLUMN column to column_old;
ALTER TABLE SAMPLE_TBL ADD column CLOB;

DECLARE
  CURSOR cu is SELECT * FROM SAMPLE_TBL;
BEGIN
  FOR cu_rec IN cu LOOP
    UPDATE SAMPLE_TBL SET column = cu_rec.column_old WHERE ID = cu_rec.ID;
  END LOOP;
END;
/

ALTER TABLE SAMPLE_TBL DROP (column_old);

좋은 웹페이지 즐겨찾기