레이블이 #제약조건비활성화인 게시물을 표시합니다. 모든 게시물 표시
레이블이 #제약조건비활성화인 게시물을 표시합니다. 모든 게시물 표시

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...