Freigeben über


sp_unbindefault (Transact-SQL)

Hebt die Bindung eines Standardwerts an eine Spalte oder einen Aliasdatentyp in der aktuellen Datenbank auf.

Wichtiger HinweisWichtig

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, dass Sie stattdessen mithilfe des DEFAULT-Schlüsselworts in der ALTER TABLE-Anweisung oder CREATE TABLE-Anweisung Standarddefinitionen erstellen.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_unbindefault [ @objname = ] 'object_name' 
     [ , [ @futureonly = ] 'futureonly_flag' ]

Argumente

  • [ @objname= ] 'object_name'
    Der Name der Tabelle und Spalte, oder der Aliasdatentyp, dessen Standardwertbindung aufgehoben werden soll. object_name ist vom Datentyp nvarchar(776) und hat keinen Standardwert. SQL Server versucht zuerst, zweiteilige Bezeichner für Spaltennamen aufzulösen, und versucht dann, zweiteilige Bezeichner für 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.

    HinweisHinweis

    object_name kann eckige Klammern [ ] als Begrenzungsbezeichnerzeichen enthalten. Weitere Informationen finden Sie unter Datenbankbezeichner.

  • [ @futureonly= ] 'futureonly_flag'
    Wird nur beim Aufheben der Bindung eines Standardwerts an einen Aliasdatentyp verwendet. futureonly_flag ist vom Datentyp varchar(15). Der Standardwert ist NULL. Wenn für futureonly_flag futureonly 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 Begrenzungsbezeichnern

Im folgenden Beispiel wird die Verwendung von Begrenzungsbezeichnern 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'

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)