반응형
Oracle: VARCHAR2 열을 CLOB로 변경
varchar2(4000) 컬럼에 저장하려고 했던 데이터가 너무 커서 대량의 텍스트 데이터를 저장하기에 적합한 컬럼으로 변경하고 싶습니다.구체적으로는 시리얼화된 어레이입니다.
첫째, CLOB는 이 용도로 사용하는 데 가장 적합한 데이터 유형입니까?좀 더 적절한 데이터 타입이 있나요?
둘째, 일반적인 snyntax를 사용하여 열을 변경하려고 할 때:
ALTER TABLE table MODIFY column CLOB다음 오류가 발생합니다.ORA-22858: 데이터 유형의 잘못된 변경
데이터를 잃지 않고 이 표를 변경하는 가장 간단한 방법은 무엇입니까?
가장 간단한 방법은 이동의 조작이varchar에 열을 달다.CLOB허용되지 않습니다. 새 열을 만들고 이전 열에서 새 열로 데이터를 이동합니다.
ALTER TABLE some_table ADD (foo CLOB);
UPDATE some_table SET foo = old_column;
ALTER TABLE some_table DROP COLUMN old_column;
ALTER TABLE some_table RENAME COLUMN foo TO old_column;
VARCHAR2 열은 CLOB로 직접 변환할 수 없지만 다음 2단계로 변환할 수 있습니다.
- 열 데이터 유형을 VARCHAR2에서 LONG으로 변환합니다.
- 열 데이터 형식을 LONG에서 CLOB로 변환합니다.
ALTER TABLE table MODIFY column long;
ALTER TABLE table MODIFY column clob;
Oracle 11g의 경우:
ALTER TABLE table MODIFY column long;
ALTER TABLE table MODIFY column clob;
언급URL : https://stackoverflow.com/questions/13402510/oracle-changing-varchar2-column-to-clob
반응형
'programing' 카테고리의 다른 글
| Spring Application.run 메인메서드 (0) | 2023.03.19 |
|---|---|
| Javascript를 사용하여 JSON 개체 업데이트 (0) | 2023.03.19 |
| 동면기의 오라클 시퀀스는 큰 갭을 만들어 낸다 (0) | 2023.03.19 |
| angularjs로 json 예쁜 프린트 사용 (0) | 2023.03.19 |
| 내 URL 끝에 /?name=someonename을 추가할 때 Wordpress 404 오류가 발생함 (0) | 2023.03.19 |