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

Links zu MSDN.

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 zu table_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:

  1. ## ##GlobalTempTable ist eine temporäre Tabelle, die zwischen allen Benutzersitzungen angezeigt wird.
  2. #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 über SELECT @@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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow