ALTER TABLE WEX001H RENAME TO TMP_WEX001H_20171029175532;
제약조건 조회
1
2
3
4
5
6
7
8
|
-- 제약조건 조회
SELECT * FROM ALL_CONSTRAINTS
WHERE TABLE_NAME = '테이블명';
SELECT A.UNIQUENESS, B.*
FROM ALL_INDEXES A, ALL_IND_COLUMNS B
WHERE A.INDEX_NAME = B.INDEX_NAME AND A.TABLE_NAME='테이블명';
|
cs |
PK 제약조건
1
2
3
4
5
6
7
8
9
|
-- PK 제약조건 추가
ALTER TABLE '테이블명' ADD PRIMARY KEY ('칼럼명1, 칼럼명2...');
-- PK 제약조건 추가(제약조건명 지정)
ALTER TABLE '테이블명' ADD CONSTRAINT '제약조건명' PRIMARY KEY ('칼럼명1, 칼럼명2...');
-- 테이블의 PK 제약조건 삭제
ALTER TABLE '테이블명' DROP PRIMARY KEY:
|
cs |
FK 제약조건
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
-- FK 제약조견 추가
ALTER TABLE '테이블명' ADD CONSTRAINT '제약조건명' FOREIGN KEY('외래키 칼럼명')
REFERENCES '참조테이블'('참조테이블_PK') [ON DELET 옵션] [ON UPDATE 옵션]
/*
* ▶ [ ] 는 생략가능하다.
*
* ON DELET : 참조 테이블의 튜플이 삭제되었을 때 기본 테이블에 취해야 할 사항을 지정
* ON UPDATE : 참조 테이블의 참조 속성 값이 변경되었을 때 기본 테이블에 취해야 할 사항을 지정
*/
/*
* 옵션 : 총 4가지 옵션이 있다.
*
* 1. NO ACTION : 참조 테이블에 변화가 있어도 기본 테이블에는 아무 조취를 취하지 않는다.
*
* 2. CASCADE : 참조 테이블의 튜플이 사제되면 기본 테이블의 관련 튜플도 삭제되고,
* 속성이 변경되면 관련 튜플의 속성 값도 모두 변경된다.
*
* 3. SET NULL : 참조 테이블에 변화가 있으면 기본 테이블의 과련 튜플의 속성 값을 NULL로 변경한다.
*
* 4. SET DEFAULT : 참조 테이블에 변화가 있으면 기본 테이블의 관련 튜플의 속성 값을 기본값으로 변경한다.
*/
|
cs |
UNIQUE 제약조건
1
2
3
4
5
|
-- UNIQUE 제약조건 추가
ALTER TABLE '테이블명' ADD UNIQUE ('칼럼명');
-- UNIQUE 제약조건 추가(제약조건명 지정)
ALTER TABLE '테이블명' ADD CONSTRAINT '제약조건명' UNIQUE ('칼럼명');
|
cs |
제약조건 삭제
1
2
3
4
|
-- 제약조건 삭제
ALTER TABLE '테이블명' DROP CONSTRAINT '제약조건명';
|
cs |
1.) 항상 인덱스와 제약조건을 한번에 삭제하고 싶을 때
ALTER TABLE 테이블명 DROP PRIMARY KEY DROP INDEX;
2.) 항상 제약조건만 삭제하고 인덱스는 남겨 놓고 싶을 때
ALTER TABLE 테이블명 DROP PRIMARY KEY KEEP INDEX;
PS1) 참고로 Primary Key 제약조건을 ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명; 으로 제거를 해도
인덱스와 제약조건이 동시에 생성된 Primary Key라면 인덱스도 함게 삭제가 됩니다.
create index weg on table (sno);
drop index weg;
댓글 영역