DROP RULE (Transact-SQL)

Entfernt eine oder mehrere benutzerdefinierte Regeln aus der aktuellen Datenbank.

Wichtiger HinweisWichtig

DROP RULE wird in der nächsten Version von MicrosoftSQL Server nicht mehr unterstützt. Verwenden Sie DROP RULE nicht bei neuen Entwicklungsarbeiten, und planen Sie die Änderung von Anwendungen, die DROP RULE derzeit verwenden.Verwenden Sie stattdessen CHECK-Einschränkungen, die Sie mithilfe des CHECK-Schlüsselworts von CREATE TABLE oder ALTER TABLE erstellen können. Weitere Informationen finden Sie unter CHECK-Einschränkungen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

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

  • rule
    Die zu entfernende Regel. Regelnamen müssen den Regeln für Bezeichner entsprechen. Weitere Informationen zu Regeln für Bezeichner finden Sie unter Verwenden von Bezeichnern als Objektnamen. Das Angeben des Regelschemanamens ist optional.

Hinweise

Um eine Regel zu löschen, müssen Sie zuerst eine möglicherweise vorhandene Bindung an eine Spalte oder einen Aliasdatentyp aufheben. Verwenden Sie sp_unbindrule, um die Bindung der Regel aufzuheben. Wenn beim Löschen einer Regel noch eine Bindung besteht, 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. Dies wirkt sich nicht auf bereits vorhandene Daten aus.

Die DROP RULE-Anweisung gilt nicht für CHECK-Einschränkungen. Weitere Informationen zum Löschen von CHECK-Einschränkungen finden Sie unter ALTER TABLE (Transact-SQL).

Berechtigungen

Zum Ausführen von DROP RULE benötigt der Benutzer mindestens die ALTER-Berechtigung für das Schema, zu dem die Regel gehört.

Beispiele

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

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