Freigeben über


DROP RULE (Transact-SQL)

Gilt für: SQL Server Azure SQL Managed Instance

Entfernt eine oder mehrere benutzerdefinierte Regeln aus der aktuellen Datenbank.

Wichtig

DROP RULE wird in einer zukünftigen Version von SQL Server entfernt. Verwenden Sie keine DROP RULE neuen Entwicklungsaufgaben, und planen Sie, Anwendungen zu ändern, die sie derzeit verwenden. Verwenden Sie CHECK stattdessen Einschränkungen, die Sie mithilfe des CHECK Schlüsselworts CREATE TABLE oder ALTER TABLE erstellen können. Weitere Informationen finden Sie unter Unique Constraints and Check Constraints.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

IF EXISTS

Gilt für: SQL Server 2016 (13.x) und höhere Versionen

Löscht die Regel nur, wenn diese bereits vorhanden ist.

schema_name

Der Name des Schemas, zu dem die Regel gehört.

rule

Die regel, die entfernt werden soll. Regelnamen müssen den Regeln für Bezeichner entsprechen. Das Angeben des Regelschemanamens ist optional.

Bemerkungen

Um eine Regel zu löschen, müssen Sie zuerst eine möglicherweise vorhandene Bindung an eine Spalte oder einen Aliasdatentyp aufheben. Um die Verbindung der Regel aufzuheben, verwenden Sie sp_unbindrule. Wenn die Regel gebunden ist, wenn Sie versuchen, sie abzulegen, wird eine Fehlermeldung angezeigt, und die DROP RULE Anweisung wird abgebrochen.

Nach dem Löschen einer Regel werden auf neue Daten, die Sie in die betreffenden Spalten eingeben, die früheren Einschränkungen der gelöschten Regel nicht mehr angewendet. Vorhandene Daten sind in keiner Weise betroffen.

Die DROP RULE Anweisung gilt nicht für CHECK Einschränkungen. Weitere Informationen zum Ablegen CHECK von Einschränkungen finden Sie unter ALTER TABLE.

Berechtigungen

Um mindestens auszuführen DROP RULE, muss ein Benutzer über die Berechtigung für das Schema verfügen ALTER , zu dem die Regel gehört.

Beispiele

Im folgenden Beispiel wird die Bindung der VendorID_rule-Regel aufgehoben und diese Regel dann gelöscht.

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