Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- HTML
- 티스토리챌린지
- 키보드
- http
- 영상편집
- Tomcat
- letterspacing
- 삼성증권
- integer
- oracle
- Docker
- Linux
- 스레드
- 안드로이드 스튜디오
- JDBC
- java
- equals
- MySQL
- 톰캣
- wsdl
- 스레드 덤프
- Database
- API
- START WITH
- MariaDB
- 컨트롤러
- cmd
- 프로세스
- 오블완
- ibatis
Archives
- Today
- Total
블로그 이름
[ORACLE] 컬럼 데이터 타입 변경 방법 본문
ALTER TABLE [테이블명] MODIFY [컬럼명] [새 데이터 타입(길이)]
ALTER TABLE emp MODIFY empName VARCHAR2(4);
컬럼의 데이터 타입 변경 시 ORA-01439: column to be modified must be empty to change datatype 오류가 발생할 때가 있다.
VARCHAR -> VARCHAR 타입 (길이를 변경한다던지) 할때에는 괜찮지만
VARCHAR 타입에서 CLOB 타입으로 변경하거나 할 때 발생한다.
VARCHAR 타입과 CLOB 타입은 저장하는 공간이 다르기 때문에 발생한다고 한다.
이 경우 변경할 컬럼을 생성한 뒤, 값을 옮긴 뒤 값을 모두 지운 뒤 원 컬럼으로 옮기면 된다.
1. 새 컬럼 생성 (기존 데이터 복사)
ALTER TABLE TABLE_NAME ADD COLUMN_COPY CLOB;
2. 새 컬럼에 기존 데이터 복사
UPDATE TABLE_NAME SET COLUMN_COPY = COLUMN_NAME;
3. 기존 컬럼 삭제
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;
4. 새 컬럼명을 기존 컬럼명으로 변경
ALTER TABLE TABLE_NAME RENAME COLUMN COLUMN_COPY TO COLUMN_NAME;
데이터타입 변경할 일 없게 넉넉하게 설계해야겟다.
'개발 > Database' 카테고리의 다른 글
| [ORACLE] 오라클 문자열에서 정규식 사용하여 한글만 추출 (5) | 2025.03.19 |
|---|---|
| [ORACLE] BITAND 함수 (0) | 2025.03.11 |
| [MariaDB] MySQL, MariaDB 문자열 대소문자 구분하기 (0) | 2025.02.25 |
| [ORACLE] ORA-01653 : unable to extend table TABLESPACE (0) | 2025.02.14 |
| [ORACLE] 테이블 복사 및 테이블 구조 복사 (0) | 2025.02.14 |