Freigeben über


DROP RULE (Transact-SQL)

Entfernt eine oder mehrere benutzerdefinierte Regeln aus der aktuellen Datenbank.

Wichtig

DROP RULE wird in der nächsten Version von Microsoft SQL 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 UNIQUE- und CHECK-Einschränkungen.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

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. 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 AdventureWorks2012;
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

Siehe auch

Verweis

CREATE RULE (Transact-SQL)

sp_bindrule (Transact-SQL)

sp_help (Transact-SQL)

sp_helptext (Transact-SQL)

sp_unbindrule (Transact-SQL)

USE (Transact-SQL)