ORACLE - 테이블 칼럼 수정 / 테이블 제약조건 수정

테이블 칼럼 수정

테이블 만들기 : CREATE

sql>CREATE TABLE test(num NUMBER);

칼럼 추가 : ADD

sql>ALTER TABLE test ADD(name VARCHAR2(10));

칼럼 수정 : MODIFY

sql>ALTER TABLE test MODIFY(name VARCHAR2(20));

칼럼명 변경 : RENAME COLUMN a TO b

sql>ALTER TABLE test RENAME COLUMN name TO myname;

칼럼 삭제 : DROP or DROP COLUMN

sql>ALTER TABLE test DROP(myname);
혹은
ALTER TABLE test DROP COLUMN myname;

테이블 제약조건 수정

테이블 만들기 : CREATE

sql>CREATE TABLE dept3(deptno NUMBER(2), dname VARCHAR2(15), loc 
CHAR(1) ); 

일반 제약조건 추가 (테이블 수준) : ADD CONSTRAINT

SQL> ALTER TABLE test
  2  ADD CONSTRAINT test_code_pk PRIMARY KEY(code);    
  // 괄호 안 : 변경할 칼럼명 기입

NOT NULL 제약 조건 추가 (테이블 수준) : MODIFY 칼럼명 CONSTRAINT

일반 수정이 아님 !!! 제약조건이 NOT NULL일 때 MODIFY

sql>ALTER TABLE dept3
MODIFY dname CONSTRAINT dept3_dname_nn NOT NULL;
  • MODIFY 뒤에 칼럼명을 적었으므로 제일 마지막에 괄호로 다시 적지 않음 ! ! !

제약조건 비활성화 : DISABLE CONSTRAINT

  • 개발할 때 여러 테스트를 하게 되는데 제약조건 때문에 불편할 경우 잠시 비활성화 이용
SQL> ALTER TABLE test
  2  DISABLE CONSTRAINT test_code_pk;

제약조건 활성화 : ENABLE CONSTRAINT

SQL> ALTER TABLE test
  2  ENABLE CONSTRAINT test_code_pk;

제약조건 삭제 : DROP CONSTRAINT

sql>ALTER TABLE dept3 DROP CONSTRAINT dept3_deptno_pk;
  • 제약조건은 수정이 불가하다 !!!!
    수정할 것이 있다면 삭제하고 다시 만들어야 함

좋은 웹페이지 즐겨찾기