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;