Microsoft SQL Server
Släpp nyckelord
Sök…
Introduktion
Drop-nyckelordet kan användas med olika SQL-objekt, det här ämnet ger snabba exempel på olika användning med databasobjekt.
Anmärkningar
Länkar till MSDN.
Släpp tabeller
Kommandot DROP TABLE tar bort tabelldefinitionerna och all data, index, triggers, begränsningar och relaterade behörigheter.
Innan du släpper en tabell bör du kontrollera om det finns några objekt (vyer, lagrade procedurer, andra tabeller) som hänvisar till tabellen.
Du kan inte släppa en tabell som hänvisas till av en annan tabell av FOREIGN KEY. Du måste först släppa den utländska nyckeln som refererar till den.
Du kan släppa en tabell som refereras till av en vy eller lagrad procedur, men efter att tabellen har tappats kan vyn eller den lagrade proceduren inte längre användas.
Syntaxen
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
-
IF EXISTS
- Släpp bara tabellen om det finns -
database_name
- Ange namnet på databasen där tabellen finns -
schema_name
- Ange namnet på det schema där tabellen är under -
table_name
- Ange namnet på tabellen som ska släppas
exempel
Ta bort tabellen med namnet TABLE_1 från aktuell databas och standardschema dbo
DROP TABLE Table_1;
Ta bort tabellen med TABLE_1 från databas HR och standardschema dbo
DROP TABLE HR.Table_1;
Ta bort tabellen med TABLE_1 från databas HR och schema externt
DROP TABLE HR.external.TABLE_1;
Släpp databaser
Kommandot DROP DATABASE tar bort en databaskatalog, oavsett status (offline, skrivskyddad, misstänkt, etc.), från den aktuella SQL Server-instansen.
En databas kan inte släppas om det finns några databasbildbilder associerade med den, eftersom databasbilderna måste släppas först.
En databassläpp tar bort alla fysiska diskfiler (såvida den inte är offline) som används av databasen om du inte använder den lagrade proceduren 'sp_detach_db'.
En databas-snapshot-drop tar bort stillbilden från SQL Server-instansen och raderar de fysiska filerna som också används av den.
En tappad databas kan bara skapas igen genom att återställa en säkerhetskopia (inte heller från en databasbild).
Syntaxen
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]
-
IF EXISTS
- Släpp bara tabellen om det finns -
database_name
- Anger namnet på databasen som ska släppas -
database_snapshot_name
- Anger vilken databasbild som ska tas bort
exempel
Ta bort en enda databas;
DROP DATABASE Database1;
Ta bort flera databaser
DROP DATABASE Database1, Database2;
Ta bort en stillbild
DROP DATABASE Database1_snapshot17;
Ta bort om databasen finns
DROP DATABASE IF EXISTS Database1;
Släpp tillfälliga tabeller
I SQL-server har vi två typer av tillfälliga tabeller:
-
##GlobalTempTable
är en typ av tillfällig tabell som delas mellan alla användares sessioner. -
#LocalTempTable
- det är en typ av temporär tabell som bara finns i nuvarande omfattning (endast i faktisk process - du kan få id för din nuvarande process avSELECT @@SPID
)
Släppprocessen för temporära tabeller är densamma som för normal tabell:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
FÖR SQL Server 2016:
IF(OBJECT_ID('tempdb..#TempTable') is not null)
DROP TABLE #TempTable;
SQL Server 2016:
DROP TABLE IF EXISTS #TempTable