Partager via


DROP RULE (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

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

Important

DROP RULE sera supprimé dans une prochaine version de SQL Server. N’utilisez DROP RULE pas de nouveau travail de développement et prévoyez de modifier les applications qui les utilisent actuellement. Utilisez plutôt CHECK des contraintes que vous pouvez créer à l’aide du CHECK mot clé CREATE TABLE ou ALTER TABLE. Pour plus d’informations, consultez Unique Constraints and Check Constraints.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

IF EXISTS

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

Supprime, de manière conditionnelle, la règle uniquement si elle existe déjà.

schema_name

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

rule

Règle à supprimer. Le nom des règles doit respecter les conventions se rapportant aux identificateurs. Vous n'êtes pas obligé de spécifier le nom du schéma de la règle.

Notes

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 essayez 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 de quelque manière que ce soit.

L’instruction DROP RULE ne s’applique pas aux CHECK contraintes. Pour plus d’informations sur la suppression CHECK de contraintes, consultez ALTER TABLE.

autorisations

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

Exemples

L'exemple suivant dissocie et supprime la règle VendorID_rule.

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