반응형
TBLSTUDENT 테이블의 SCORE를 varchar2(기존)에서 number(최신)으로 바꾸려고 할때,
이미 데이터가 있는 경우 변경이 불가능하다. 이때 꼼수로 아래와 같이 변경이 가능하다.
1 2 3 4 5 6 | ALTER TABLE TBLSTUDENT ADD( SCORE_TEMP NUMBER(10,1)); -- 임시 컬럼 추가 (NUMBER(10,1)타입은 숫자형 소수점 1자리 허용) UPDATE TBLSTUDENT SET SCORE_TEMP = SCORE ; -- 임시 컬럼에 기존 값들 복사 ALTER TABLE TBLSTUDENT DROP(SCORE); -- 기존 컬럼 삭제 ALTER TABLE TBLSTUDENT RENAME COLUMN SCORE_TEMP TO SCORE; -- 임시컬럼 이름 변경 COMMENT ON COLUMN TBLSTUDENT.SCORE IS '점수'; -- 코멘트 추가 | cs |
실DB 변경 작업이라면... 중요한만큼 신중에 신중을 가해서 작업하자.
반응형
'개발 이야기 > RDBMS' 카테고리의 다른 글
자주 쓰는 DB Command와 Query (0) | 2024.05.03 |
---|---|
Mysql을 Docker compose로 띄우기 (0) | 2024.01.07 |
MSSQL을 Docker Compose로 띄우기 (0) | 2021.07.03 |
Oracle_HINT, USE HASH로 성능 끌어올리기 (0) | 2018.05.25 |
Oracle_LISTAGG함수, 여러 데이터를 한 Row에 표현 (0) | 2018.05.25 |