[Oracle] 테이블 생성시 VARCHAR2형을 CHAR형으로 치환하기

VARCHAR2는 한글을 저장할 수 있는 크기와 영문을 저장할 수 있는 크기가 다릅니다. 영문은 1바이트고 한글은 2바이트이기 때문입니다. 이렇게 되면 나중에 여러가지 문제가 생길 수 있기에 가끔 테이블 생성 시 VARCHAR2타입을 CHAR형으로 바꿔서 생성시켜주곤 합니다. (자칫하면 공간낭비가 될 수 있기 때문에 자주쓰는 방법은 아닙니다.) 요새는 툴이 좋아 CREATE문을 따로 작성하지 않아도 알아서 작성해주는 툴이 많이 있습니다. 하지만 툴이 만들어준 Create문을 보면 VARCHAR2타입으로 되어있을겁니다. 여기서 테이블의 VARCHAR2형을 CHAR형으로 바꿔주려면 CREATE문 안에 있는 VARCHAR2을 전부 CHAR로 바꿔주어야 하는데 이것은 굉장히 귀찮은 일입니다. 이럴때 요긴하게 사용할 수 있는 명령어가 있습니다.

 

테이블 생성시 VARCHAR2형을 CHAR형으로 치환하기

ATER SESSION SET NLS_LENGTH_SEMANTICS = 'CHAR';

이 문법의 뜻은 세션이 살아있을때 동안 VARCHAR2타입을 CHAR로 치환해주겠다는 뜻입니다.

 

활용 예제

ALTER SESSION SET NLS_LENGTH_SEMANTICS = 'CHAR';

CREATE TABLE MEMBER
(
ID VARCHAR2(20) NOT NULL,
PASSWORD VARCHAR2(30),
USERNAME VARCHAR2(10),
DEPT VARCHAR2(7),
BIRTH VARCHAR2(20),
EMAIL VARCHAR2(40),
TEL VARCHAR2(30) NOT NULL
);

 

[Oracle] 토드(Toad) 설치하기

[Oracle] 테이블 & 컬럼 Comment 추가,확인,삭제 방법

[Oracle] 오라클 테이블 생성방법(PK설정)

[Oracle] 테이블 복사/백업하기

 

댓글

Designed by JB FACTORY