> 데이터 베이스 > MySQL 튜토리얼 > MS SQL에서 데이터베이스 제약 조건을 일시적으로 비활성화하고 다시 활성화하는 방법은 무엇입니까?

MS SQL에서 데이터베이스 제약 조건을 일시적으로 비활성화하고 다시 활성화하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-10 10:25:42
원래의
527명이 탐색했습니다.

How to Temporarily Disable and Re-enable Database Constraints in MS SQL?

MS SQL Server의 데이터베이스 제약 조건 임시 관리

Microsoft SQL Server에서 제약 조건을 일시적으로 비활성화하면 특히 데이터를 전송할 때 데이터베이스 작업을 간소화할 수 있습니다. 이 가이드에서는 제약 조건을 일시적으로 비활성화하고 다시 활성화하는 방법을 자세히 설명합니다.

제약조건 비활성화

개별 테이블 제약 조건 비활성화(ALTER TABLE):

단일 테이블에 대한 제약 조건을 비활성화하려면 다음 명령을 사용하세요.

<code class="language-sql">ALTER TABLE tableName NOCHECK CONSTRAINT ALL;</code>
로그인 후 복사

데이터베이스 전체 제약 조건 비활성화(sp_msforeachtable):

이 저장 프로시저는 데이터베이스 내의 모든 테이블에 대한 제약 조건을 비활성화합니다.

<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL';</code>
로그인 후 복사

제약 조건 다시 활성화

개별 테이블 제약 조건 다시 활성화(ALTER TABLE):

다음 명령을 사용하여 특정 테이블에 대한 제약 조건을 다시 활성화합니다.

<code class="language-sql">ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL;</code>
로그인 후 복사

데이터베이스 전체 제약 조건 재활성화(sp_msforeachtable):

다음 저장 프로시저를 사용하여 데이터베이스의 모든 테이블에 대한 제약 조건을 다시 활성화합니다.

<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL';</code>
로그인 후 복사

실습

다음 예에서는 데이터 복사 작업 중에 제약 조건을 일시적으로 비활성화하고 다시 활성화하는 프로세스를 보여줍니다.

<code class="language-sql">-- Disable constraints on TableA and TableB
ALTER TABLE TableA NOCHECK CONSTRAINT ALL;
ALTER TABLE TableB NOCHECK CONSTRAINT ALL;

-- Copy data from TableA to TableB
INSERT INTO TableB SELECT * FROM TableA;

-- Re-enable constraints on TableA and TableB
ALTER TABLE TableA WITH CHECK CHECK CONSTRAINT ALL;
ALTER TABLE TableB WITH CHECK CHECK CONSTRAINT ALL;</code>
로그인 후 복사

위 내용은 MS SQL에서 데이터베이스 제약 조건을 일시적으로 비활성화하고 다시 활성화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿