In Sql Server 2016 ist IF EXISTS die neue optionale Klausel, die in der vorhandenen DROP-Anweisung eingeführt wurde. Grundsätzlich überprüft es die Existenz des Objekts, wenn das Objekt existiert, wird es gelöscht und wenn es nicht existiert, wird die nächste Anweisung im Stapel fortgesetzt. Grundsätzlich vermeidet es das Schreiben von if condition und innerhalb von if condition, eine Anweisung zu schreiben, um die Existenz des Objekts zu überprüfen.,
Syntax:
DROP OBJECT_TYPE OBJECT_NAME
WOBEI: OBJECT_TYPE wie Tisch -, Verfahrens -, Sicht -, Funktions -, Datenbank -, Trigger -, Montage -, Sequenz -, Index etc.
IF EXISTS: Es ist eine optionale Klausel und wenn sie in der DROP-Anweisung erwähnt wird, überprüft sie die Existenz des Objekts, wenn sie vorhanden ist, wird sie gelöscht Andernfalls wird die nächste Anweisung im Block ohne Probleme ausgeführt.
Lassen Sie uns diese neue IF EXISTS-Klausel in der DROP-Anweisung mit einer umfangreichen Liste von Beispielen verstehen., Um diese Klausel zu demonstrieren, erstellen wir zunächst eine Beispieldatenbank mit einer Tabelle und einer gespeicherten Prozedur.
CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO
Gespeicherte Prozedur löschen, FALLS VORHANDEN
So überprüfen Sie, ob eine gespeicherte Prozedur vorhanden ist
In Sql Server 2016 können wir eine Anweisung wie unten schreiben, um eine gespeicherte Prozedur zu löschen, falls vorhanden.
DROP PROCEDURE IF EXISTS dbo.WelcomeMessage
Wenn die gespeicherte Prozedur nicht vorhanden ist, wird kein Fehler ausgelöst., Versuchen wir, die gespeicherte Prozedur WelcomeMessage, die bereits gelöscht wurde, erneut abzulegen.
Aus dem Ergebnis ist klar, dass kein Fehler ausgelöst wird Wenn die gespeicherte Prozedur nicht vorhanden ist, wird die nächste Anweisung im Stapel weiter ausgeführt.
In früheren Versionen von Sql Server verwenden wir eine Anweisung wie unten, um die gespeicherte Prozedur zu löschen, falls vorhanden.,
IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND
Sie können den Artikel durchgehen So überprüfen Sie, ob eine gespeicherte Prozedur vorhanden ist, um verschiedene Optionen in den vorherigen Versionen von Sql Server anzuzeigen, um die Existenz einer gespeicherten Prozedur zu überprüfen.
TABELLE LÖSCHEN, FALLS VORHANDEN
So überprüfen Sie, ob eine Tabelle vorhanden ist
In Sql Server 2016 können wir eine Anweisung wie unten schreiben, um eine Tabelle zu löschen, falls vorhanden.,
DROP TABLE IF EXISTS dbo.Customers
Wenn die Tabelle nicht vorhanden ist, wird kein Fehler ausgelöst. Versuchen wir, den Tisch dbo wieder fallen zu lassen.Kunden, die bereits fallen gelassen wird.
Aus dem Ergebnis ist klar, dass kein Fehler ausgelöst wird Wenn die Tabelle nicht vorhanden ist, wird die nächste Anweisung im Stapel weiter ausgeführt.,
In früheren Versionen von Sql Server verwenden wir eine Anweisung wie unten, um die Tabelle zu löschen, falls vorhanden.
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND
Sie können den Artikel durchgehen So überprüfen Sie, ob eine Tabelle vorhanden ist, um verschiedene Optionen in den vorherigen Versionen von Sql Server anzuzeigen, um die Existenz einer Tabelle zu überprüfen.
DATENBANK LÖSCHEN, FALLS VORHANDEN
So überprüfen Sie, ob eine Datenbank vorhanden ist
In Sql Server 2016 können wir eine Anweisung wie unten schreiben, um eine Datenbank zu löschen, falls vorhanden.,
USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB
Wenn die Datenbank nicht vorhanden ist, wird kein Fehler ausgelöst. Versuchen wir, die Datenbank SqlHintsDemoDB, die bereits gelöscht wurde, erneut abzulegen.
Aus dem Ergebnis ist klar, dass es keinen Fehler auslöst Wenn die Datenbank nicht existiert, wird die nächste Anweisung im Stapel weiter ausgeführt.,
In früheren Versionen von Sql Server verwenden wir eine Anweisung wie unten, um die Datenbank zu löschen, falls vorhanden.
IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND
Sie können den Artikel durchgehen So überprüfen Sie, ob eine Datenbank vorhanden ist, um verschiedene Optionen in den vorherigen Versionen von Sql Server anzuzeigen, um die Existenz einer Datenbank zu überprüfen.,ISJSON Funktion in Sql Server 2016