sp_unbindefault (Transact-SQL)
Gilt für: SQL Server
Hebt die Bindung eines Standardwerts an eine Spalte oder einen Aliasdatentyp in der aktuellen Datenbank auf.
Wichtig
Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Es wird empfohlen, Standarddefinitionen stattdessen mithilfe des DEFAULT-Schlüsselworts in den ALTER TABLE- oder CREATE TABLE-Anweisungen zu erstellen.
Transact-SQL-Syntaxkonventionen
Syntax
sp_unbindefault
[ @objname = ] N'objname'
[ , [ @futureonly = ] 'futureonly' ]
[ ; ]
Argumente
[ @objname = ] N'objname'
Der Name der Tabelle und Spalte oder des Aliasdatentyps, von dem der Standardwert ungebunden sein soll. @objname ist nvarchar(776), ohne Standard. SQL Server versucht, zweiteilige IDs zuerst in Spaltennamen aufzulösen und dann zu Aliasdatentypen.
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
@objname können Klammern []
als durch Trennzeichen getrennte Bezeichnerzeichen enthalten. Weitere Informationen finden Sie unter Datenbankbezeichner.
[ @futureonly = ] 'futureonly'
Wird nur verwendet, wenn die Verknüpfung eines Standardwerts von einem Aliasdatentyp getrennt wird. @futureonly ist varchar(15) mit einem Standardwert von NULL
. Wenn @futureonly ist futureonly
, verlieren vorhandene Spalten des Datentyps nicht den angegebenen Standardwert.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
Um den Text eines Standardwerts anzuzeigen, führen Sie sp_helptext
den Namen des Standardwerts als Parameter aus.
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 Verknüpfung eines Standardwerts aus einer 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 Verknüpfung eines Standardwerts aus einem 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 der 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 durch Trennzeichen getrennten Bezeichnern
Das folgende Beispiel zeigt die Verwendung von durch Trennzeichen getrennten Bezeichnern in @objname Parameter. Beachten Sie den Punkt als Teil des Tabellennamens. sp_unbindefault
Im Teil enthält das Objekt zwei Punkte; der erste Teil des Tabellennamens und der zweite unterscheidet den Tabellennamen von dem Spaltennamen.
--
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';