SQL Server: 계단식 제약 조건이 있는 테이블 삭제
Oracle에서 DROP TABLE 문의 "CASCADE CONSTRAINTS PURGE" 옵션은 다음을 허용합니다. 테이블과 그에 따른 종속 제약 조건 및 데이터를 제거합니다.
SQL Server는 단일 명령을 통해 사용할 수 없습니다. 그러나 원하는 결과를 얻을 수 있는 두 가지 대체 방법이 있습니다.
스크립팅 옵션 사용:
이렇게 하면 모든 종속 개체를 포함하는 스크립트가 생성되어 올바른 위치에 삭제됩니다. order.
재귀 저장 프로시저 사용:
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
EXEC DropTableCascade 'YourTableName'
위 내용은 계단식 제약 조건이 있는 SQL Server 테이블을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!