Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

sp_unbindrule (Transact-SQL)

Dissocie une règle d'une colonne ou d'un type de données alias dans la base de données active.

Important Important

Cette fonctionnalité sera supprimée dans la prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité. Au lieu de cela, nous recommandons de créer des définitions par défaut à l'aide du mot clé DEFAULT dans les instructions ALTER TABLE ou CREATE TABLE.

S'applique à : SQL Server (SQL Server 2008 jusqu'à la version actuelle).

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

sp_unbindrule [ @objname = ] 'object_name' 
     [ , [ @futureonly = ] 'futureonly_flag' ]

[ @objname= ] 'object_name'

Nom de la table et de la colonne ou du type de données alias dont la règle est dissociée. object_name est de type nvarchar(776) et n'a pas de valeur par défaut. SQL Server essaie d'abord de résoudre en noms de colonnes les identificateurs en deux parties, puis en types de données alias. Lorsque vous dissociez une règle d'un type de données alias, les colonnes de ce type de données ayant la même règle sont également dissociées. Les colonnes de ce type de données auxquelles des règles sont directement liées ne sont pas affectées.

Remarque Remarque

object_name peut contenir les crochets [] comme caractères de délimitation des identificateurs. Pour plus d'informations, consultez Identificateur de la base de données.

[ @futureonly= ] 'futureonly_flag'

S'utilise seulement pour dissocier une règle d'un type de données alias. futureonly_flag est de type varchar(15), avec NULL comme valeur par défaut. Lorsque futureonly_flag est de type futureonly, les colonnes existantes de ce type de données ne perdent pas la règle spécifiée.

0 (succès) ou 1 (échec)

Pour afficher le texte d'une règle, exécutez sp_helptext en donnant le nom de la règle comme paramètre.

Lorsque vous dissociez une règle, les informations relatives à la liaison sont supprimées de la table sys.columns si cette règle était liée à une colonne, et de la table sys.types si elle était liée à un type de données défini par l'utilisateur.

Lorsqu'une règle est dissociée d'un type de données alias, elle l'est aussi des colonnes ayant ce type de données alias. La règle peut toujours être associée aux colonnes dont les types de données ont été modifiés ultérieurement par la clause ALTER COLUMN d'une instruction ALTER TABLE. Dans ce cas, vous devez dissocier spécifiquement la règle de ces colonnes à l'aide de la procédure sp_unbindrule et spécifier le nom de la colonne.

La dissociation d'une règle d'une colonne de table nécessite l'autorisation ALTER sur la table. La dissociation d'une règle d'un type de données alias nécessite l'autorisation CONTROL sur le type ou l'autorisation ALTER sur le schéma auquel le type appartient.

A.Dissociation d'une règle d'une colonne

L'exemple suivant dissocie la règle de la colonne startdate de la table employees.

EXEC sp_unbindrule 'employees.startdate';

B.Dissociation d'une règle d'un type de données alias

L'exemple suivant dissocie la règle du type de données alias ssn. Il dissocie la règle des colonnes existantes et à venir de ce type.

EXEC sp_unbindrule ssn;

C.Utilisation de l'argument futureonly_flag

L'exemple suivant dissocie la règle du type de données alias ssn sans affecter les colonnes ssn existantes.

EXEC sp_unbindrule 'ssn', 'futureonly';

D.Utilisation d'identificateurs délimités

Cet exemple montre l'utilisation d'identificateurs délimités dans le paramètre object_name .

CREATE TABLE [t.4] (c1 int); -- Notice the period as part of the table 
-- name.
GO
CREATE RULE rule2 AS @value > 100;
GO
EXEC sp_bindrule rule2, '[t.4].c1' -- The object contains two 
-- periods; the first is part of the table name and the second 
-- distinguishes the table name from the column name.
GO
EXEC sp_unbindrule '[t.4].c1';

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft