2021년 11월 6일 토요일

오라클 테이블, 무결성 제약조건의 활성화, 비활성화

 

오라클 테이블, 무결성 제약조건의 활성화, 비활성화

 

대량의 데이터를 입력하면 제약조건 검사로 시간이 오래 걸리거나 일부 데이터 오류로 무결성 제약조건을 비활성화해야 될 경우가 있습니다. 이럴 때는 제약조건을 비활성화한 후 데이터를 입력받아 수정 후 다시 활성화하면 됩니다.

 

[기본 형식]

ALTER TABLE table_name ENABLE[NOVALIDATE] CONSTRAINT constraint_name

ALTER TABLE table_name DISABLE CONSTRAINT constraint_name


ALTER TABLE ~ DISABLE CONSTRAINT 명령으로 제약조건을 비활성화, ALTER TABLE ~ ENABLE CONSTRAINT 명령으로 제약조건을 활성화하는 실습을 해보겠습니다.

실습


대체로 테이블 생성시 NOT NULL 제약조건에 대해 이름을 부여하는 경우는 없습니다. 그래서 아래 실습을 하기 위해서는 테이블의 컬럼에 걸린 제약조건 이름을 조회 할 수 있어야 합니다.



CUSTOMER 테이블의 name 컬럼에 걸린 NOT NULL 제약조건의 이름을 확인 합니다.



SELECT TABLE_NAME

             , CONSTRAINT_NAME

             , CONSTRAINT_TYPE

             , SEARCH_CONDITION

FROM    USER_CONSTRAINTS

WHERE TABLE_NAME = 'CUSTOMER';


<실행결과>

 

TABLE_NAME

CONSTRAINT_NAME

CONSTRAINT_TYPE

SEARCH_CONDITION

1

CUSTOMER

SYS_C007522

C

"NAME" IS NOT NULL


name 컬럼의 NOT NULL 제약조건의 이름은 ‘SYS_C007522’ 입니다. 아마도 CONSTRAINT_NAME 컬럼의 값은 독자 여러분의 실행결과와 다를  것 이니 반드시 본인의 CONSTRAINT_NAME 컬럼의 값을 아래 실습에서 사용하세요.


CUSTOMER 테이블의 name 컬럼에 걸린 NOT NULL 제약조건을 비활성화 후 다시 활성화하세요.


ALTER TABLE CUSTOMER DISABLE CONSTRAINT SYS_C007522 ;

ALTER TABLE CUSTOMER ENABLE CONSTRAINT SYS_C007522 ;


<실행결과>

Table CUSTOMER이(가) 변경되었습니다.

 

#제약조건활성화, #제약조건비활성화,#오라클, #ORACLE, #DISABLECONSTRAINT

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...