Udostępnij za pośrednictwem


sp_unbindefault (Transact-SQL)

Applies to:SQL Server

Usuwa lub usuwa domyślne powiązanie z kolumny lub z typu danych aliasu w bieżącej bazie danych.

Ważna

Ta funkcja zostanie usunięta w przyszłej wersji SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Utwórz definicje domyślne przy użyciu słowa kluczowego DEFAULT w instrukcjach ALTER TABLE lub CREATE TABLE .

Transact-SQL konwencje składni

Składnia

sp_unbindefault
    [ @objname = ] N'objname'
    [ , [ @futureonly = ] 'futureonly' ]
[ ; ]

Arguments

[ @objname = ] N'objname'

Nazwa tabeli i kolumny lub typu danych aliasu, aby usunąć powiązanie domyślne z. @objname to nvarchar(776), bez domyślnego zachowania. SQL Server próbuje rozpoznać najpierw dwuczęściowe identyfikatory nazw kolumn, a następnie alias typów danych.

Po usunięciu powiązania domyślnego z typu danych aliasu wszystkie kolumny tego typu danych, które mają tę samą wartość domyślną, również są niezwiązane. Nie ma to wpływu na kolumny tego typu danych z wartościami domyślnymi powiązanymi bezpośrednio z nimi.

Uwaga / Notatka

@objname może zawierać nawiasy [] jako znaki identyfikatora rozdzielanego. Aby uzyskać więcej informacji, zobacz Identyfikatory bazy danych.

[ @futureonly = ] "futureonly"

Używane tylko w przypadku odłączania wartości domyślnej od typu danych aliasu. @futureonly to varchar(15), z domyślnym .NULL Jeśli @futureonly to futureonly, istniejące kolumny typu danych nie tracą określonej wartości domyślnej.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uwagi

Aby wyświetlić tekst domyślny, wykonaj polecenie sp_helptext z nazwą domyślną jako parametr.

uprawnienia

Aby usunąć powiązanie domyślne z kolumny tabeli, wymaga ALTER uprawnień do tabeli. Aby usunąć powiązanie domyślne z typu danych aliasu, wymaga CONTROL uprawnienia do typu lub ALTER uprawnienia w schemacie, do którego należy typ.

Examples

Odp. Usuń powiązanie domyślne z kolumny

Poniższy przykład usuwa powiązanie domyślne z hiredate kolumny employees tabeli.

EXECUTE sp_unbindefault 'employees.hiredate';

B. Usuń powiązanie domyślne z typu danych aliasu

Poniższy przykład usuwa powiązanie domyślne z typu ssndanych aliasu . Odłącza istniejące i przyszłe kolumny tego typu.

EXECUTE sp_unbindefault 'ssn';

C. Korzystanie z futureonly_flag

Poniższy przykład unbinds przyszłe zastosowania aliasu typu ssn danych bez wpływu na istniejące ssn kolumny.

EXECUTE sp_unbindefault 'ssn', 'futureonly';

D. Używaj identyfikatorów ograniczonych

W poniższym przykładzie pokazano użycie identyfikatorów rozdzielonych w parametrze @objname . Nazwa t.3 tabeli zawiera kropkę, więc ograniczniki nawiasów są wymagane. W wywołaniu sp_unbindefault pierwszy kropka jest częścią nazwy tabeli, a druga oddziela nazwę tabeli od nazwy kolumny.

CREATE TABLE [t.3] (c1 INT);
CREATE DEFAULT default2 AS 0;
GO

EXECUTE sp_bindefault 'default2', '[t.3].c1';
EXECUTE sp_unbindefault '[t.3].c1';