Wie Sie wahrscheinlich bereits wissen, können Sie keine Tabelle in einer Datenbank erstellen, wenn eine Tabelle mit einem ähnlichen Namen in der Datenbank vorhanden ist. Um dies zu überwinden, können Sie prüfen, ob die Tabelle existiert, und falls die Tabelle ab und erstellen Sie eine neue Tabelle.
In diesem Artikel lernen Sie, wie Sie SQL -Bedingungen verwenden. Wir werden diskutieren, wie man überprüft, ob eine Tabelle existiert, und wenn sie wahr ist, lassen Sie sie fallen.
Anforderungen
Wir haben die Beispiele in einer SQL -Serverinstanz in diesem Handbuch getestet und implementiert. Wenn Sie eine ähnliche Umgebung reproduzieren möchten, stellen Sie sicher, dass Sie:
Sobald Sie die angegebenen Anforderungen oben haben, können wir mit dem Tutorial fortfahren.
Grundlagen
Bevor wir lernen, wie man eine bedingte Logik hinzufügt, bevor wir eine Tabelle fallen lassen, sehen wir, was passiert, wenn Sie versuchen, eine nicht existierende Tabelle in einer Datenbank fallen zu lassen.
Betrachten Sie die Beispielabfrage unten:
Salesdb verwenden;Wenn wir versuchen, die obige Abfrage auszuführen, gibt SQL Server einen MSG 3701 -Fehler zurück:
Zustandslogik - Methode 1
Die erste Methode, die Sie verwenden können, wenn Sie eine Tabelle löschen müssen, wenn sie vorhanden ist. Diese Abfrage ist nur in der SQL Server -Version 2016 und höher verfügbar.
Die Syntax ist wie:
Droptabelle [falls existiert] db_name.Schema_Name.TBL_NAME;Die Abfrage prüft, ob die Tabelle existiert, und lassen Sie sie, falls dies wahr sind, sie fallen; Ansonsten ignorieren Sie die Drop -Anweisung.
Zum Beispiel:
Salesdb verwenden;Wenn die Tabelle vorhanden ist, versucht SQL, sie fallen zu lassen.
Denken Sie daran, dass SQL -Regeln für das Ablegen einer Tabelle noch gelten.
Methode 2 - Objekt -ID
Die zweite Methode besteht darin, die Funktion Object_id () zu verwenden. Die Funktion gibt eine Objekt -ID zurück, wenn der angegebene Name vorhanden ist.
Der folgende Beispielcode zeigt, wie Sie die Funktion Object_id () verwenden, um eine bedingte Logik beim Löschen einer Tabelle hinzuzufügen.
Salesdb verwenden;In der folgenden Ressource erfahren Sie mehr über die Funktion Object_id ():
SQL Server Object_id () Funktionsdokumente.
Methode 3 - Informationsschema
Wir können auch das SQL Server -Informationsschema zum Abfragen verwenden, wenn eine Tabelle vorliegt. Eine Beispielabfrage ist wie unten gezeigt:
Salesdb verwenden;Im obigen Beispiel verwenden wir das Informationsschema, um zu überprüfen, ob eine bestimmte Tabelle vorhanden ist.
Schließen
Mit diesem Handbuch haben Sie verschiedene Möglichkeiten ermittelt, um eine bedingte Logik hinzuzufügen, wenn Sie eine Tabelle auf dem SQL -Server fallen lassen. Durch das Hinzufügen von bedingten Anweisungen können Sie Fehler in automatisierten SQL -Skripten verhindern.