2010. 4. 28. 16:26ㆍDatabase/Oracle
테이블 생성시 제약조건을 사용할수 있다.
1.제약조건이란?
-데이터의 유효성을 확보하기 위해 컬럼에 제한을 거는 조건
2.제약조건의 종류
(1)PRIMARY KEY =중복을 허용하지 않으면서 NULL값을 허용하지 않는 제약 조건
(2)유일키(UNIQUE )-중복을 허용하지 않는 제약조건
ALTER TABLE 테이블이름 ADD CONSTRAINT 제약이름 UNIQUE(칼럼이름)
ALTER TABLE CUSTOMER ADD CONSTRAINT CK_CUSTOMER UNIQUE(IDX)
(3)NOT NULL -널값을 허용하지 않는 제약조건
ALTER TABLE 테이블이름 MODIFY(칼럼 자료형() NOT NULL);
예) ALTER TABLE CUSTOMER MODIFY(PHONE VARCHAR(20) NOT NULL);
(4)DEFAULT -기본값을 지정할수 있는 제약조건
ALTER TABLE CUSTOMER MODIFY (PHONE VARCHAR(20) DEFAULT '018');
(5)FOREIGN KEY -외래키 제약조건 :부모 테이블의 PRIMARY KEY 값만을 허용
(6)CHECK -원하는 데이터만을 입력 받도록 제한 할수 있는 제약 조건
예- 성별 컬럼에 '남' 과 '여'라는 문자만을 입력받고 싶을때
ALTER TABLE 테아블이름 ADD CONSTRAINT 제약이름 CHECK(칼럼이름 IN('값1','값2'))
제약 조건 삭제
ALTER TABLE 테이블이름 DROP CONSTRAINT 제약이름;
예)ALTER TABLE CUSTOMER DROP CONSTRAINT PK_CUSTOMER;
GRANT CREATE SEQUENCE TO USER0318 권한부여
create sequence seq_테이블명 시퀸스 생성
increment by 1
start with 1;
SELECT SEQ_MEMBER.NEXTVAL FROM DUAL; 다음 시퀸스값 확인!
테이블 제약조건 하면서 생성 하기 예제
CREATE TABLE CUSTOMER2(
IDX NUMBER PRIMARY KEY,
CUSTOMERID VARCHAR(20) UNIQUE,
GENDER CHAR(2) CHECK(GENDER IN ('남','여')),
PHONE VARCJAR(20) DEFAULT '016' NOT NULL
);
테이블 카피
CREATE TABLE EMP
AS
SELECT * FROM EMP_COPY
레코드 복사
INSERT INTO EMP
SELECT * FROM EMP_COPY
'Database > Oracle' 카테고리의 다른 글
[Oracle] 1. 유저 권한 grant 하기 2. synonym 하기 (0) | 2010.04.28 |
---|---|
[Oracle] 오라클 칼럼 추가 , 삭제 예제 (0) | 2010.04.28 |
[Oracle] 쿼리연습4 (0) | 2010.04.28 |
[Oracle] 쿼리연습3 (0) | 2010.04.28 |
[Oracle] 쿼리연습2 (0) | 2010.04.28 |