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 der DEFAULT-Schlüsselwort (keyword) 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';