DROP RULE (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Entfernt eine oder mehrere benutzerdefinierte Regeln aus der aktuellen Datenbank.

System_CAPS_ICON_important.jpg 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).

Topic link icon Transact-SQL-Syntaxkonventionen

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

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.

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).

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

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  

CREATE RULE (Transact-SQL)
sp_bindrule (Transact-SQL)
sp_help (Transact-SQL)
sp_helptext (Transact-SQL)
sp_unbindrule (Transact-SQL)
USE (Transact-SQL)

Community-Beiträge

Anzeigen: