테이블이나
인덱스의 이름을 변경하는 것은 오라클 9iR2 이전에도 가능했지만
9iR2에서는 테이블의 컬럼 명 또는 제약조건의 이름을 변경하는 것이 가능해 졌습니다.
오라클자바커뮤니티에서 설립한
오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝,
힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)
SQL> create table test (
2 c1 varchar2(4) not
null,
3 c2 number(10) not null
4 );
테이블이
생성되었습니다.
프라이머리
키를 추가 합니다. 이때 C1컬럼에 대해 인덱스가 생성
됩니다.
SQL> alter table test add (constraint pk_test
2 primary key
(c1));
테이블이
변경되었습니다.
SQL> desc test;
이름
널?
유형
-----------------------------------------
-------- --------------
C1 NOT
NULL VARCHAR2(4)
C2 NOT
NULL NUMBER(10)
사용자의
제약 조건을 확인 할 수
있는 USER_CONSTRAINTS VIEW를 통해 TEST
테이블에 제약조건의 타입이 ‘P’ 인것 즉
Primary Key인 제약조건을 검색 합니다. 제약조건에는 NOT NULL, UNIQUE, CHECK, PRIMARY KEY등 테이블의 컬럼에 제약을 가하는 조건을
말합니다.
SQL> select constraint_name
2 from
user_constraints
3 where
table_name = 'TEST'
4 and
constraint_type = 'P';
CONSTRAINT_NAME
------------------------------
PK_TEST
이번에는 TEST 테이블에 생성되어 있는 인덱스를 확인 합니다. 위에서 C1 컬럼을 Primary
Key로 설정하여 저절로 이 컬럼에 대한 인덱스가 생성되어 있습니다.
SQL> select index_name,
2 column_name
3 from
user_ind_columns
4 where
table_name = 'TEST';
INDEX_NAME
COLUMN_NAME
------------------------------------
PK_TEST
C1
우선
테이블의 이름을 바꾸어 봅니다. 이 기능은 오라클의 이전 버전에서도 되는 기능
입니다…
SQL> alter table test rename to test1;
테이블이
변경되었습니다.
이번에는
컬럼명을 바꾸어 보죠^^
SQL> alter table test1 rename column c1 to code;
테이블이
변경되었습니다.
Primary Ket 제약 조건의 이름을 변경 합니다.
SQL> alter table test1 rename constraint pk_test to
pk_test1;
테이블이
변경되었습니다.
이번에는 Primary Key에 걸린 인덱스의 이름을 바꿉니다.
SQL> alter index pk_test rename to pk_test1;
인덱스가
변경되었습니다.
위에서
변경한 내역에 대해 확인해 보겠습니다…
SQL> select constraint_name
2 from
user_constraints
3 where
table_name = 'TEST1'
4 and
constraint_type = 'P';
CONSTRAINT_NAME
------------------------------
PK_TEST1
SQL> select index_name,
2 column_name
3 from
user_ind_columns
4 where
table_name = 'TEST1';
INDEX_NAME
COLUMN_NAME
---------------------------------------------
PK_TEST1
CODE
[출처]오라클자바커뮤니티
댓글 없음:
댓글 쓰기