다음을 통해 공유


DROP RULE(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

현재 데이터베이스에서 하나 이상의 사용자 정의 규칙을 제거합니다.

Important

DROP RULE 는 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에는 사용하지 DROP RULE 말고 현재 사용하는 애플리케이션을 수정할 계획입니다. 대신 CREATE TABLE 또는 ALTER TABLE워드를 사용하여 만들 수 있는 CHECK 제약 조건을 사용합니다CHECK. 자세한 내용은 Unique Constraints and Check Constraints을 참조하세요.

Transact-SQL 구문 표기 규칙

Syntax

DROP RULE [ IF EXISTS ] { [ schema_name . ] rule_name } [ , ...n ]
[ ; ]

참고 항목

SQL Server 2014(12.x) 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

IF EXISTS

적용 대상: SQL Server 2016(13.x) 이상 버전

이미 있는 경우에만 역할을 조건부로 삭제합니다.

schema_name

규칙이 속한 스키마의 이름입니다.

rule

제거할 규칙입니다. 규칙 이름은 식별자에 적용되는 규칙을 준수해야 합니다. 규칙 스키마 이름을 지정하는 것은 선택 사항입니다.

설명

현재 규칙이 열이나 별칭 데이터 형식에 바인딩된 경우 규칙을 삭제하려면 먼저 언바인딩해야 합니다. 규칙을 바인딩 해제하려면 .를 사용합니다 sp_unbindrule. 규칙을 삭제하려고 할 때 규칙이 바인딩되면 오류 메시지가 표시되고 DROP RULE 문이 취소됩니다.

규칙을 삭제한 후 이전에 규칙이 적용되었던 열에 새 데이터를 입력하면 해당 규칙의 제약 조건에 구애 받지 않고 입력됩니다. 기존 데이터는 어떤 방식으로도 영향을 받지 않습니다.

이 문은 DROP RULE 제약 조건에 CHECK 적용되지 않습니다. 제약 조건을 삭제 CHECK 하는 방법에 대한 자세한 내용은 ALTER TABLE을 참조 하세요.

사용 권한

실행 DROP RULE하려면 최소한 사용자에게 규칙이 속한 스키마에 대한 권한이 있어야 합니다 ALTER .

예제

다음 예에서는 VendorID_rule이라는 규칙을 언바인딩한 후 삭제합니다.

EXEC sp_unbindrule 'Production.ProductVendor.VendorID';
DROP RULE VendorID_rule;