> 데이터 베이스 > MySQL 튜토리얼 > 계단식 제약 조건이 있는 SQL Server 테이블을 삭제하는 방법은 무엇입니까?

계단식 제약 조건이 있는 SQL Server 테이블을 삭제하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-29 10:52:09
원래의
379명이 탐색했습니다.

How to Drop a SQL Server Table with Cascading Constraints?

SQL Server: 계단식 제약 조건이 있는 테이블 삭제

Oracle에서 DROP TABLE 문의 "CASCADE CONSTRAINTS PURGE" 옵션은 다음을 허용합니다. 테이블과 그에 따른 종속 제약 조건 및 데이터를 제거합니다.

SQL Server는 단일 명령을 통해 사용할 수 없습니다. 그러나 원하는 결과를 얻을 수 있는 두 가지 대체 방법이 있습니다.

스크립팅 옵션 사용:

  1. SQL Server Management Studio를 엽니다.
  2. 도구 > 옵션 > SQL Server 개체 탐색기 > 스크립팅
  3. "종속 개체에 대한 스크립트 생성" 확인란을 활성화합니다.
  4. 삭제하려는 테이블을 마우스 오른쪽 버튼으로 클릭합니다.
  5. "스크립트 > 다음에 놓기 > 새 쿼리 창."

이렇게 하면 모든 종속 개체를 포함하는 스크립트가 생성되어 올바른 위치에 삭제됩니다. order.

재귀 저장 프로시저 사용:

  1. 테이블과 모든 종속 개체를 삭제하는 재귀 저장 프로시저를 만듭니다.
    예:
CREATE PROC DropTableCascade (@TableName nvarchar(max))
AS
BEGIN
 IF OBJECT_ID(@TableName) IS NOT NULL
 BEGIN
  EXEC sp_MSForEachTable 'IF "{DB_NAME()}.dbo.' + name in (SELECT name FROM sysobjects WHERE type = ''U'' AND parent_id = OBJECT_ID(@TableName)) BEGIN PRINT ''Dropping table '' + ''{DB_NAME()}.dbo.'' + name PRINT ''DELETE FROM '' + ''{DB_NAME()}.dbo.'' + name + ''; DROP TABLE '' + ''{DB_NAME()}.dbo.'' + name + ''; END'
  DROP TABLE @TableName
 END
END
로그인 후 복사
  1. 저장 프로시저 호출 삭제하려는 테이블 이름:
EXEC DropTableCascade 'YourTableName'
로그인 후 복사

위 내용은 계단식 제약 조건이 있는 SQL Server 테이블을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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