상세 컨텐츠

본문 제목

[오라클] 이미 존재하는 테이블에 칼럼+, 이미 존재하는 칼럼 타입바꾸기

카테고리 없음

by esoesmio 2023. 4. 20. 20:29

본문

alter table hahakik modify (haha varchar2(10));
alter table hahakik add (haha number);

ALTER TABLE WEX001H RENAME TO TMP_WEX001H_20171029175532;

 

alter table score_chk drop constraint hrgkew;
alter table score_chk drop constraint wegeg;
 

제약조건 조회

 

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라면 인덱스도 함게 삭제가 됩니다.

 

 

alter table score_chk drop constraint hrgkew;
alter table score_chk drop constraint wegeg;

alter table score_chk add constraint weg primary key (sno);

alter table score_chk drop primary key drop index ;
 
 
 
 

create index weg on table (sno);

 

drop index weg;

 

댓글 영역