Microsoft SQL Server
Schlüsselwort löschen
Suche…
Einführung
Das Drop-Schlüsselwort kann mit verschiedenen SQL-Objekten verwendet werden. In diesem Thema finden Sie kurze Beispiele für die unterschiedliche Verwendung von Datenbankobjekten.
Bemerkungen
Tabellen ablegen
Mit dem Befehl DROP TABLE werden die Tabellendefinitionen und alle Daten, Indizes, Trigger, Einschränkungen und zugehörigen Berechtigungen entfernt.
Bevor Sie eine Tabelle löschen, sollten Sie prüfen, ob Objekte (Ansichten, gespeicherte Prozeduren, andere Tabellen) vorhanden sind, die auf die Tabelle verweisen.
Sie können keine Tabelle löschen, auf die eine andere Tabelle von FOREIGN KEY verweist. Sie müssen zuerst den FOREIGN KEY löschen, der auf ihn verweist.
Sie können eine Tabelle löschen, auf die von einer Sicht oder einer gespeicherten Prozedur verwiesen wird. Nach dem Löschen der Tabelle ist die Sicht oder die gespeicherte Prozedur nicht mehr verwendbar.
Die Syntax
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
-
IF EXISTS
-IF EXISTS
die Tabelle nur, wenn sie existiert -
database_name
- Geben Sie den Namen der Datenbank an, in der sich die Tabelle befindet -
schema_name
-schema_name
den Namen des Schemas an, unter dem sich die Tabelle befindet -
table_name
-table_name
den Namen der zutable_name
Tabelle an
Beispiele
Entfernen Sie die Tabelle mit dem Namen TABLE_1 aus der aktuellen Datenbank und dem Standardschema dbo
DROP TABLE Table_1;
Entfernen Sie die Tabelle mit TABLE_1 aus der Datenbank HR und dem Standardschema dbo
DROP TABLE HR.Table_1;
Entfernen Sie die Tabelle mit TABLE_1 aus der Datenbank HR und dem Schema external
DROP TABLE HR.external.TABLE_1;
Datenbanken löschen
Der Befehl DROP DATABASE entfernt einen Datenbankkatalog unabhängig von seinem Status (offline, schreibgeschützt, verdächtig usw.) aus der aktuellen SQL Server-Instanz.
Eine Datenbank kann nicht gelöscht werden, wenn Datenbank-Momentaufnahmen zugeordnet sind, da die Datenbank-Momentaufnahmen zuerst gelöscht werden müssen.
Bei einem Datenbank-Drop werden alle von der Datenbank verwendeten physischen Festplattendateien (sofern sie nicht offline sind) entfernt, sofern Sie nicht die gespeicherte Prozedur 'sp_detach_db' verwenden.
Ein Datenbank-Snapshot-Drop löscht den Snapshot aus der SQL Server-Instanz und löscht die physischen Dateien, die auch von ihm verwendet werden.
Eine abgelegte Datenbank kann nur durch Wiederherstellen einer Sicherung (auch nicht aus einem Datenbank-Snapshot) neu erstellt werden.
Die Syntax
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]
-
IF EXISTS
-IF EXISTS
die Tabelle nur, wenn sie existiert -
database_name
- Gibt den Namen der zu löschenden Datenbank an -
database_snapshot_name
- Gibt den zu entfernenden Datenbank-Snapshot an
Beispiele
Entfernen Sie eine einzelne Datenbank.
DROP DATABASE Database1;
Mehrere Datenbanken entfernen
DROP DATABASE Database1, Database2;
Schnappschuss entfernen
DROP DATABASE Database1_snapshot17;
Entfernen, wenn Datenbank vorhanden ist
DROP DATABASE IF EXISTS Database1;
Temporäre Tabellen löschen
In SQL Server gibt es zwei Arten von temporären Tabellen:
- ##
##GlobalTempTable
ist eine temporäre Tabelle, die zwischen allen Benutzersitzungen angezeigt wird. -
#LocalTempTable
Registerkarte - ist eine Art temporärer Tabelle, die nur im aktuellen Bereich vorhanden ist (nur im tatsächlichen Prozess - Sie können die ID Ihres aktuellen Prozesses überSELECT @@SPID
)
Der Löschvorgang temporärer Tabellen ist derselbe wie bei normalen Tabellen:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
VOR SQL Server 2016:
IF(OBJECT_ID('tempdb..#TempTable') is not null)
DROP TABLE #TempTable;
SQL Server 2016:
DROP TABLE IF EXISTS #TempTable