sp_unbindefault (Transact-SQL)
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 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é. Il est recommandé de créer des définitions par défaut à l'aide du mot clé DEFAULT dans les instructions ALTER TABLE ou CREATE TABLE. Pour plus d'informations, consultez Création et modification des définitions DEFAULT.
Syntaxe
sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Arguments
[ @objname= ] 'object_name'
Nom de la table et de la colonne ou type de données alias dont la valeur par défaut doit être dissociée. object_name est de type nvarchar(776), sans valeur par défaut. SQL Server tente d'abord de résoudre les identificateurs à 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]
object_name peut contenir des crochets [] comme caractères de délimitation des identificateurs. Pour plus d'informations, consultez Identificateurs délimités (Moteur de base de données).
[ @futureonly= ] 'futureonly_flag'
S'utilise seulement pour dissocier une valeur par défaut d'un type de données alias. L'argument futureonly_flag est de type varchar(15). Sa valeur par défaut est NULL. Lorsque la valeur de futureonly_flag est définie sur futureonly, les colonnes existantes du type de données ne perdent pas leur valeur par défaut spécifiée.
Valeurs des codes renvoyés
0 (succès) ou 1 (échec)
Notes
Pour afficher le texte d'une valeur par défaut, exécutez sp_helptext en donnant comme paramètre le nom de la valeur par défaut.
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
A. Suppression de la liaison d'une valeur par défaut avec 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. Suppression de la liaison d'une valeur par défaut avec un type de données 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. Utilisation de l'argument 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. 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.3] (c1 int) -- Notice the period as part of the table
-- name.
CREATE DEFAULT default2 AS 0
GO
EXEC sp_bindefault 'default2', '[t.3].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.
EXEC sp_unbindefault '[t.3].c1'