DROP RULE(Transact-SQL)
현재 데이터베이스에서 하나 이상의 사용자 정의 규칙을 제거합니다.
중요 |
---|
MicrosoftSQL Server의 이후 버전에서는 DROP RULE이 제거됩니다. 향후 개발 작업에서는 DROP RULE을 사용하지 않도록 하고 현재 이것을 사용하는 응용 프로그램은 수정하십시오. 대신 CREATE TABLE 또는 ALTER TABLE의 CHECK 키워드로 만들 수 있는 CHECK 제약 조건을 사용하십시오. 자세한 내용은 CHECK 제약 조건을 참조하십시오. |
구문
DROP RULE { [ schema_name . ] rule_name } [ ,...n ] [ ; ]
인수
schema_name
규칙이 속한 스키마의 이름입니다.rule
제거할 규칙입니다. 규칙 이름은 식별자에 대한 규칙을 따라야 합니다. 식별자 규칙에 대한 자세한 내용은 식별자를 개체 이름으로 사용을 참조하십시오. 규칙 스키마 이름을 지정하는 것은 선택 사항입니다.
주의
현재 규칙이 열이나 별칭 데이터 형식에 바인딩된 경우 규칙을 삭제하려면 먼저 언바인딩해야 합니다. 규칙을 언바인딩하려면 sp_unbindrule을 사용하십시오. 바인딩된 규칙을 삭제하려고 시도하면 오류 메시지가 표시되고 DROP RULE 문이 취소됩니다.
규칙을 삭제한 후 이전에 규칙이 적용되었던 열에 새 데이터를 입력하면 해당 규칙의 제약 조건에 구애 받지 않고 입력됩니다. 기존 데이터는 아무런 영향도 받지 않습니다.
DROP RULE 문은 CHECK 제약 조건에 적용되지 않습니다. CHECK 제약 조건 삭제 방법은 ALTER TABLE(Transact-SQL)을 참조하십시오.
사용 권한
DROP RULE을 실행하려면 최소한 규칙이 속한 스키마에 대한 ALTER 권한이 있어야 합니다.
예
다음 예에서는 VendorID_rule이라는 규칙을 언바인딩한 후 삭제합니다.
USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'VendorID_rule'
AND type = 'R')
BEGIN
EXEC sp_unbindrule 'Production.ProductVendor.VendorID'
DROP RULE VendorID_rule
END
GO