sp_unbindefault (Transact-SQL)
Hebt die Bindung eines Standardwerts an eine Spalte oder einen Aliasdatentyp in der aktuellen Datenbank auf.
Wichtig |
---|
Diese Funktion wird in der nächsten Version von Microsoft SQL Server entfernt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie so bald wie möglich das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Es wird empfohlen, Definitionen von Standardwerten stattdessen mithilfe des DEFAULT-Schlüsselworts in den Anweisungen ALTER TABLE oder CREATE TABLE zu erstellen. Weitere Informationen finden Sie unter Erstellen und Ändern von DEFAULT-Definitionen. |
Syntax
sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Argumente
[ @objname= ] 'object_name'
Der Name der Tabelle und Spalte bzw. des Aliasdatentyps, von der bzw. dem der Standardwert entfernt werden soll. object_name ist vom Datentyp nvarchar(776) und hat keinen Standardwert. SQL Server versucht, zweiteilige Bezeichner zuerst nach Spaltennamen und dann nach Aliasdatentypen aufzulösen.Beim Aufheben der Bindung eines Standardwerts an einen Aliasdatentyp wird auch die Bindung für alle Spalten dieses Datentyps, die denselben Standardwert aufweisen, aufgehoben. Spalten dieses Datentyps mit Standardwerten, die direkt an diese gebunden sind, sind nicht betroffen.
Hinweis object_name kann eckige Klammern [] als begrenzte Bezeichnerzeichen enthalten.Weitere Informationen finden Sie unter Begrenzte Bezeichner (Datenbankmodul).
[ @futureonly= ] 'futureonly_flag'
Wird nur verwendet, wenn die Bindung eines Standardwerts an einen Aliasdatentyp aufgehoben wird. futureonly_flag ist vom Datentyp varchar(15) und hat den Standardwert NULL. Wenn für futureonly_flagfutureonly angegeben ist, verlieren vorhandene Spalten dieses Datentyps nicht den angegebenen Standardwert.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
Führen Sie sp_helptext mit dem Namen des Standardwerts als Parameter aus, um den Text des Standards anzuzeigen.
Berechtigungen
Zum Aufheben der Bindung eines Standardwerts an eine Tabellenspalte ist die ALTER-Berechtigung für die Tabelle erforderlich. Zum Aufheben der Bindung eines Standardwerts an einen Aliasdatentyp ist für den Datentyp die CONTROL-Berechtigung bzw. für das Schema, zu dem der Datentyp gehört, die ALTER-Berechtigung erforderlich.
Beispiele
A. Aufheben der Bindung eines Standardwerts an eine Spalte
Im folgenden Beispiel wird die Bindung des an die hiredate-Spalte der employees-Tabelle gebundenen Standardwerts aufgehoben.
EXEC sp_unbindefault 'employees.hiredate'
B. Aufheben der Bindung eines Standardwerts an einen Aliasdatentyp
Im folgenden Beispiel wird die Bindung des an den ssn-Aliasdatentyp gebundenen Standardwerts aufgehoben. Die Bindungen aller vorhandenen und zukünftigen Spalten dieses Typs werden aufgehoben.
EXEC sp_unbindefault 'ssn'
C. Verwenden von futureonly_flag
Im folgenden Beispiel wird die Bindung zukünftiger Verwendungen des Aliasdatentyps ssn aufgehoben, ohne dass vorhandene ssn-Spalten davon betroffen sind.
EXEC sp_unbindefault 'ssn', 'futureonly'
D. Verwenden von begrenzten Bezeichnern
Im folgenden Beispiel wird die Verwendung von begrenzten Bezeichnern im object_name-Parameter gezeigt.
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'