티스토리 뷰

[oracle] 오라클 ALTER의 정의와 사용법
ALTER란?

기존 테이블에 새로운 컬럼을 추가하거나 변경할때 쓰는 명령어

ALTER 명령은 CREATE TABLE문으로 만든 컬럼은 삭제 할 수 없다.

 

 

-- 사용자 암호 변경

ALTER USER [USER ID] IDENTIFIED BY [NEW PASSWORD];

EX)ALTER USER scott IDENTIFIED BY lion;

 

 

-- 인덱스 수정

ALTER INDEX [INDEX NAME] RENAME TO [NEW INDEX NAME];

EX)ALTER INDEX idx_empno RENAME TO idx_emp_01;
     : 인덱스 idx_empno의 이름을 idx_emp_01로 변경한다.


 

-- 필드 추가

ALTER TABLE [TABLE NAME] ADD ([COLUMN NAME] DATATYPE);

 

-- 필드명 수정

ALTER TABLE [TABLE NAME] RENAME COLUMN [COLUMN NAME] TO [NEW COLUMN NAME];

 

--필드 타입 수정

ALTER TABLE [TABLE NAME] MODIFY ([COLUMN NAME] DATATYPE);

 

--필드 타입 삭제

ALTER TABLE [TABLE NAME] DROP COLUMN [COLUMN NAME] );

 

 

-- 제약 조건 추가 / 수정

ALTER TABLE [TABLE NAME] ADD CONSTRAINT [제약 조건 이름] [조건] ;

EX) ALTER TABLE C_EMP ADD CONSTRAINT CK_AGE CHECK(AGE > 0);

오라클 삽입
ALTER TABLE DES_SECU_TBL ADD (MNGID_PRIVATENO VARCHAR2(10) NOT NULL);

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

alter 사용법

 

예제 테이블은 employee(employee_name, city, street) 을 사용

1. 속성 추가

alter table 테이블명

add(속성명 변수이름);

 *단 테이블이 비어 있지 않다면 not null 속성을 쓸수가 없다.

ex)

alter table employee

add(age number);

 

2. 속성 삭제

주키(primary key)는 삭제 할 수 없다.

하지만 외래키(foreign key)는 삭제 가능하다.

alter table 테이블명

drop(속성명);

ex)

alter table employee

drop(street);

 

3. 속성 타입 수정

속성 타입 변경도  해당 속성의 모든 튜플이 비어 있어야 가능하다.

alter table 테이블명

modify(속성명 타입);

ex)

alter table employee

modify(age varchar(15)); 위에서 추가한 age의 타입을 변경해 보았다.

 

4. 속성 이름 바꾸기

alter table 테이블명

rename column 컬럼명 to 바꿀이름

ex)

alter table employee

rename column age to job;

http://www.cyworld.com/prizm0911/2598801

[출처] 오라클 alter사용법|작성자 비셔스