DROP DEFAULT (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Eltávolít egy vagy több felhasználó által definiált alapértelmezett beállítást a jelenlegi adatbázisból.

Important

DROP DEFAULTa Microsoft SQL Server következő verziójában eltávolítják. Ne használd DROP DEFAULT új fejlesztési munkákat, és tervezd azokat az alkalmazások módosítását, amelyek jelenleg használják őket. Ehelyett használj alapértelmezett definíciókat, amelyeket DEFAULT a kulcsszóval ALTER TABLE vagy CREATE TABLE.

Transact-SQL szintaxis konvenciók

Szemantika

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

Arguments

HA LÉTEZIK AZ
Érvényes: SQL Server (SQL Server 2016 (13.x)-től a jelenlegi verzióig).

Feltételesen csak akkor engedi el az alapértelmezettet, ha már létezik.

schema_name
Az alapértelmezett séma neve.

default_name
Ez egy meglévő alapértelmezett név. Az alapértelmezett beállítások listájának megtekintéséhez hajtsd végre a sp_help. Az alapértelmezett beállításoknak megfelelniük kell az azonosítók szabályainak. Az alapértelmezett séma név megadása opcionális.

Megjegyzések

Mielőtt elhagynánk egy alapértelmezet, az alapértelmezett beállítást kell lebontani azzal, hogy végrehajtsa sp_unbindefault , ha az alapértelmezett jelenleg egy oszlophoz vagy alias adattípushoz van kötve.

Miután egy alapértelmezett értéket eltávolítanak egy null értékű oszlopból, a NULL kerül be ebbe a pozícióba, amikor sorokat adnak hozzá, és nem adnak ki kifejezetten értéket. Miután egy alapértelmezett oszlopot eltávolítanak egy NOT NULL oszlopból, hibaüzenet jelenik meg, amikor sorokat adnak hozzá, és nem adnak ki kifejezetten értéket. Ezeket a sorokat később adják hozzá a tipikus INSERT állítási viselkedés részeként.

Permissions

A DROP DEFAULTfuttatáshoz legalább egy felhasználónak ALTER jogosultsággal kell rendelkeznie azon a sémán, amelyhez az alapértelmezett sémához tartozik.

Példák

A. Alapértelmezett eszköz elhagyása

Ha egy alapértelmezett beállítás nincs egy oszlophoz vagy alias adattípushoz kötve, egyszerűen ledobható .DROP DEFAULT A következő példa eltávolítja a felhasználó által létrehozott alapértelmezett nevet .datedflt

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

Az SQL Server 2016-tól (13.x) kezdve a következő szintaxist használhatod.

DROP DEFAULT IF EXISTS datedflt;  
GO  

B. Egy oszlophoz kötött alapértelmezett beállítás elhagyása

A következő példa megszünteti a táblázat oszlopához Contact tartozó alapértelmezett EmergencyContactPhone köteléket, majd elhagyja az alapértelmezett nevű phonedflt.

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

Lásd még

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