반응형
oracle에서 열 varchar를 clob으로 변경하는 방법
Oracle DB에 varchar로 설계된 열 세부 정보가 있으며, 이 DB는 현재 고객을 위해 사용되고 있으며 일부 행에는 이미 데이터가 저장되어 있습니다.
이제 열 세부 정보를 Clob 열로 변경합니다.이것을 실현하는 현명한 방법은 무엇입니까?
(앞의 답변과 같이) 코드는 다음과 같습니다.
ALTER TABLE atable
ADD (tmpdetails CLOB);
UPDATE atable SET tmpdetails=details;
COMMIT;
ALTER TABLE atable DROP COLUMN details;
ALTER TABLE atable
RENAME COLUMN tmpdetails TO details;
- 테이블에 clob 열을 추가합니다.
- clob 열을 varchar 열의 값으로 업데이트
- drop varchar 컬럼
- clob 열의 이름을 varchar 열 이름으로 변경
그러나 이렇게 해도 칼럼의 위치가 유지되지는 않습니다.그러면 컬럼이 테이블 끝으로 이동합니다.따라서 열의 위치를 유지하고 싶다면 다음 단계를 따르십시오.
alter table atable add (tempdetails varchar2(4000));
update atable set tempdetails = details;
update atable set details = null; -- this is necessary to change data type
alter table atable modify details long; -- this is required because you can not change directly to clob.
alter table atable modify details clob;
update atable set details=tempdetails;
alter table atable drop column tempdetails;
이렇게 하면 데이터 유형을 변경한 후에도 열의 데이터 및 위치를 그대로 유지할 수 있습니다.예에 대한 자세한 내용은 다음 URL을 참조하십시오.http://www.oraclebin.com/2012/12/how-to-change-varchar2-to-clob-datatype.html
프로세스 중에 테이블 데이터에 액세스할 수 있어야 하는 경우DBMS_REDefinition 보기
asktom http://asktom.oracle.com/pls/asktom/f?p=100:11:0 에서 같은 질문을 참조하십시오.:::P11_QUESTION_ID:177003491686
언급URL : https://stackoverflow.com/questions/6839545/how-to-change-column-varchar-to-clob-in-oracle
반응형
'programing' 카테고리의 다른 글
Angular를 사용하여 앵커 태그 활성화/비활성화JS (0) | 2023.03.21 |
---|---|
reactjs를 사용하여 Facebook API 로그인 구현 (0) | 2023.03.21 |
Spring 4.x/3.x (Web MVC) REST API와 JSON2 POST 요청, 어떻게 하면 제대로 할 수 있을까요? (0) | 2023.03.21 |
웹소켓은 p2p(브라우저 대 브라우저) 통신을 허용합니까? (0) | 2023.03.21 |
Woocommerce 체크아웃 페이지 내부 서버 오류 (0) | 2023.03.21 |