본문으로 바로가기







제약조건 조회


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





RSS구독 링크추가 트위터 이메일 구독