Cette documentation est archivée et n’est pas conservée.

DROP RULE (Transact-SQL)

Supprime une ou plusieurs règles définies par l'utilisateur de la base de données active.

ms186791.note(fr-fr,SQL.90).gifImportant :
DROP RULE sera supprimé dans une future version de Microsoft SQL Server. Évitez d'utiliser DROP RULE dans les nouvelles tâches de développement et pensez à modifier les applications qui l'utilisent actuellement. À la place, utilisez des contraintes CHECK que vous pouvez créer à l'aide du mot clé CHECK de CREATE TABLE ou ALTER TABLE. Pour plus d'informations, consultez Contraintes CHECK

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL


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

schema_name

Nom du schéma auquel appartient la règle.

rule

Règle à supprimer. Les noms de règle doivent suivre les règles applicables aux identificateurs. Pour plus d'informations sur les règles des identificateurs, consultez Utilisation des identificateurs comme noms d'objet. Vous n'êtes pas obligé de spécifier le nom du schéma de la règle.

Pour supprimer une règle, vous devez tout d'abord la dissocier si celle-ci est liée à une colonne ou à un type de données d'alias. Pour dissocier la règle, utilisez sp_unbindrule. Si la règle est liée lorsque vous tentez de la supprimer, un message d'erreur s'affiche et l'instruction DROP RULE est annulée.

Après la suppression d'une règle, les nouvelles données sont entrées sans les contraintes de la règle dans les colonnes gouvernées au préalable par celle-ci. Les données existantes ne sont pas affectées.

L'instruction DROP RULE ne s'applique pas aux contraintes CHECK. Pour plus d'informations sur la suppression des contraintes CHECK, consultez ALTER TABLE (Transact-SQL).

Pour exécuter DROP RULE, un utilisateur doit, au minimum, posséder l'autorisation ALTER sur le schéma auquel la règle appartient.

L'exemple suivant dissocie et supprime la règle 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
Afficher: