sp_unbindefault (Transact-SQL)

S’applique à :SQL Server

Supprime la liaison d'une valeur par défaut (ou supprime cette valeur) avec une colonne ou un type de données alias dans la base de données actuelle.

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Nous vous recommandons de créer des définitions par défaut à l’aide de l’mot clé DEFAULT dans les instructions ALTER TABLE ou CREATE TABLE à la place.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_unbindefault
    [ @objname = ] N'objname'
    [ , [ @futureonly = ] 'futureonly' ]
[ ; ]

Arguments

[ @objname = ] N’objname'

Nom de la table et de la colonne ou du type de données alias à partir duquel la valeur par défaut doit être indépendante. @objname est nvarchar(776), sans valeur par défaut. SQL Server tente de résoudre d’abord les identificateurs en deux parties en noms de colonnes, puis en types de données alias.

Lorsque vous supprimez la liaison d'une valeur par défaut avec un type de données alias, toutes les colonnes de ce type de données ayant la même valeur par défaut sont également dissociées. Les colonnes de ce type de données auxquelles des valeurs par défaut sont directement liées ne sont pas affectées.

Remarque

@objname peut contenir des crochets [] sous forme de caractères d’identificateur délimités. Pour plus d'informations, consultez Database Identifiers.

[ @futureonly = ] 'futureonly'

Utilisé uniquement lors de la dissociation d’une valeur par défaut à partir d’un type de données alias. @futureonly est varchar(15), avec la valeur par défaut NULL. Lorsque @futureonly est futureonly, les colonnes existantes du type de données ne perdent pas la valeur par défaut spécifiée.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

Pour afficher le texte d’une valeur par défaut, exécutez sp_helptext avec le nom de la valeur par défaut comme paramètre.

Autorisations

Pour dissocier une valeur par défaut d'une colonne de table, une autorisation ALTER sur cette table est requise. Pour supprimer la liaison d'une valeur par défaut avec un type de données, il faut disposer d'une autorisation CONTROL sur ce type ou d'une autorisation ALTER sur le schéma auquel appartient ce type.

Exemples

R. Dissocier une valeur par défaut à partir d’une colonne

Cet exemple supprime la liaison de la valeur par défaut avec la colonne hiredate de la table employees.

EXEC sp_unbindefault 'employees.hiredate';

B. Dissocier une valeur par défaut à partir d’un type de données d’alias

Cet exemple supprime la liaison de la valeur par défaut avec le type de données alias ssn. Il supprime la liaison des colonnes existantes et futures de ce type.

EXEC sp_unbindefault 'ssn';

C. Utiliser le futureonly_flag

Cet exemple supprime la liaison des utilisations futures du type de données alias ssn sans affecter les colonnes existantes de type ssn.

EXEC sp_unbindefault 'ssn', 'futureonly';

D. Utiliser des identificateurs délimités

L’exemple suivant montre l’utilisation d’identificateurs délimités dans @objname paramètre. Notez la période dans le nom de la table. Dans la sp_unbindefault partie, l’objet contient deux points ; le premier fait partie du nom de la table et le second distingue le nom de la table du nom de la colonne.

-- 
CREATE TABLE [t.3] (c1 INT);

CREATE DEFAULT default2 AS 0;
GO

EXEC sp_bindefault 'default2', '[t.3].c1';

EXEC sp_unbindefault '[t.3].c1';