DROP DEFAULT (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Usuwa jedną lub więcej domyślnych wartości zdefiniowanych przez użytkownika z aktualnej bazy danych.

Important

DROP DEFAULTzostanie usunięty w następnej wersji Microsoft SQL Server. Nie używaj DROP DEFAULT w nowych projektach deweloperskich i planuj modyfikować aplikacje, które już z nich korzystają. Zamiast tego użyj domyślnych definicji, które możesz stworzyć, używając DEFAULT słowa kluczowego lub ALTER TABLECREATE TABLE.

Transact-SQL konwencje składni

Syntax

DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]  

Arguments

JEŚLI ISTNIEJE
Dotyczy: SQL Server ( SQL Server 2016 (13.x) do bieżącej wersji).

Warunkowo rezygnuje z domyślnego tylko wtedy, gdy już istnieje.

schema_name
To nazwa schematu, do którego należy domyślny.

default_name
To nazwa istniejącego domyślnego programu. Aby zobaczyć listę istniejących domyślnych ustawień, wykonaj sp_help. Domyślne muszą spełniać zasady dotyczące identyfikatorów. Określenie domyślnej nazwy schematu jest opcjonalne.

Remarks

Przed odrzuceniem domyślnego pliku odwiązuj domyślne, wykonując sp_unbindefault , jeśli domyślny jest obecnie powiązany z kolumną lub typem danych alias.

Po usunięciu domyślnego wpisu z kolumny pozwalającej na wartości zerowe, NULL jest wstawiane na to miejsce, gdy dodane są wiersze i nie jest podany żadna wartość jawna. Po usunięciu domyślnego wpisu z kolumny NOT NULL zwracany jest komunikat o błędzie, gdy dodane są wiersze i nie podaje się wartości jawnie. Te wiersze są dodawane później jako część typowego INSERT zachowania zdań.

Permissions

Aby wykonać DROP DEFAULT, użytkownik musi mieć co najmniej uprawnienia ALTER do schematu, do którego należy domyślny schemat.

Examples

A. Rezygnacja z defaultu

Jeśli domyślny element nie został przypisany do kolumny lub typu danych alias, można go po prostu usunąć za pomocą .DROP DEFAULT Poniższy przykład usuwa domyślną nazwę datedfltstworzoną przez użytkownika .

USE AdventureWorks2022;  
GO  
IF EXISTS (SELECT name FROM sys.objects  
         WHERE name = 'datedflt'   
            AND type = 'D')  
   DROP DEFAULT datedflt;  
GO  

Zaczynając od SQL Server 2016 (13.x), możesz używać następującej składni.

DROP DEFAULT IF EXISTS datedflt;  
GO  

B. Rezygnacja z domyślnego wpisu przypisanego do kolumny

Poniższy przykład odwiązuje domyślne powiązania z kolumną EmergencyContactPhone tabeli, a następnie usuwa domyślne o Contact nazwie phonedflt.

USE AdventureWorks2022;  
GO  
   BEGIN   
      EXEC sp_unbindefault 'Person.Contact.Phone'  
      DROP DEFAULT phonedflt  
   END;  
GO  

Zobacz też

CREATE DEFAULT (Transact-SQL)
sp_helptext (Transact-SQL)
sp_help (Transact-SQL)
sp_unbindefault (Transact-SQL)