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 중국어 웹사이트의 기타 관련 기사를 참조하세요!