DROP DEFAULT (Transact-SQL)

Platí na:SQL ServerAzureSQL Managed Instance

Odstraní jeden nebo více uživatelsky definovaných výchozích nastavení z aktuální databáze.

Important

DROP DEFAULTbude odstraněn v příští verzi Microsoft SQL Server. Nepoužívejte DROP DEFAULT je v novém vývoji a plánujte upravovat aplikace, které je aktuálně používají. Místo toho použijte výchozí definice, které můžete vytvořit pomocí DEFAULT klíčového slova nebo ALTER TABLECREATE TABLE.

Transact-SQL konvence syntaxe

Syntax

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

Arguments

POKUD EXISTUJE
Platí na: SQL Server (SQL Server 2016 (13.x) až po současnou verzi).

Podmíněně se výchozí hodnota odstraní jen tehdy, pokud už existuje.

schema_name
Je název schématu, ke kterému výchozí zařízení patří.

default_name
Je název existujícího výchozího nastavení. Pro zobrazení seznamu výchozích nastavení spusťte sp_help. Výchozí nastavení musí dodržovat pravidla pro identifikátory. Zadání výchozího názvu schématu je volitelné.

Remarks

Před odstranštěním výchozího nastavení odvázejte výchozí nastavení vykonáním sp_unbindefault , pokud je výchozí nastavení aktuálně vázáno na sloupec nebo alias datový typ.

Po vypuštění výchozího nastavení ze sloupce, který umožňuje null, se NULL vloží na tuto pozici, když jsou řádky přidány a explicitně není uvedena žádná hodnota. Po vypuštění výchozího nastavení ze sloupce NOT NULL se při přidání řádků zobrazí chybová zpráva a explicitně není uvedena žádná hodnota. Tyto řádky jsou přidávány později jako součást typického INSERT chování příkazu.

Permissions

Pro spuštění DROP DEFAULTmusí mít uživatel alespoň povolení ALTER ke schématu, ke kterému výchozí zařízení patří.

Examples

A. Zrušení výchozího stavu

Pokud výchozí hodnota nebyla vázána na sloupec nebo na alias datový typ, lze jej jednoduše vyřadit pomocí .DROP DEFAULT Následující příklad odstraní uživatelem vytvořený výchozí název datedflt.

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

Od SQL Server 2016 (13.x) můžete použít následující syntaxi.

DROP DEFAULT IF EXISTS datedflt;  
GO  

B. Vyřazení výchozího nastavení, které bylo vázáno na sloupec

Následující příklad odpojí výchozí nastavení přiřazené sloupci EmergencyContactPhone tabulky a poté odstraní výchozí s Contact názvem phonedflt.

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

Viz také

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