MS SQL Server: DROP TABLE wenn die Tabelle nicht existiert

Aufgabenstellung

Eine Tabelle soll gelöscht werden wenn sie existiert.

Problem

Nutzt man in einem TSQL-Skript den DROP Table Befehl (z.B. in einer Stored Procedure) erhält man eine Fehlermeldung, das die zu löschende Tabelle nicht existiert. In einigen Fällen führt dies zum Abbruch des Skriptes.

Ansatz

Über das META-Schema vom MS SQL Server lässt sich erfragen, ob eine Tabelle existiert.

Lösung

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'users') 
DROP TABLE users;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..