sp_unbindefault (Transact-SQL)
Hebt die Bindung eines Standardwertes an eine Spalte oder einen Aliasdatentyp in der aktuellen Datenbank auf.
Wichtig: |
---|
Dieses Feature wird in einer zukünftigen Version von Microsoft SQL Server entfernt. Verwenden Sie dieses Feature beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Es wird empfohlen, Definitionen von Standardwerten stattdessen mithilfe des DEFAULT-Schlüsselwortes in den Anweisungen ALTER TABLE oder CREATE TABLE zu erstellen. Weitere Informationen finden Sie unter Erstellen und Ändern von DEFAULT-Definitionen. |
Transact-SQL-Syntaxkonventionen
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 Standardwertes 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 Standardwertes an einen Aliasdatentyp aufgehoben wird. futureonly_flag ist vom Datentyp varchar(15) und hat den Standardwert NULL. Wenn futureonly für futureonly_flag 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 Standardwertes als Parameter aus, um den Text des Standards anzuzeigen.
Berechtigungen
Zum Aufheben der Bindung eines Standardwertes an eine Tabellenspalte ist die ALTER-Berechtigung für die Tabelle erforderlich. Zum Aufheben der Bindung eines Standardwertes 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 Standardwertes an eine Spalte
Im folgenden Beispiel wird die Bindung des an die hiredate
-Spalte der employees
-Tabelle gebundenen Standardwertes aufgehoben.
EXEC sp_unbindefault 'employees.hiredate'
B. Aufheben der Bindung eines Standardwertes an einen Aliasdatentyp
Im folgenden Beispiel wird die Bindung des an den ssn
-Aliasdatentyp gebundenen Standardwertes 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
Das folgende Beispiel zeigt die Verwendung von begrenzten Bezeichnern im object_name-Parameter.
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'
Siehe auch
Verweis
Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)
CREATE DEFAULT (Transact-SQL)
DROP DEFAULT (Transact-SQL)
sp_bindefault (Transact-SQL)
sp_helptext (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)