In Sql Server 2016, SE ESISTE è la nuova clausola opzionale introdotta nell’istruzione DROP esistente. Fondamentalmente, controlla l’esistenza dell’oggetto, se l’oggetto esiste lo rilascia e se non esiste continuerà a eseguire l’istruzione successiva nel batch. Fondamentalmente evita di scrivere if condition e all’interno di if condition scrivendo una dichiarazione per verificare l’esistenza dell’oggetto.,

Sintassi:

DROP OBJECT_TYPE OBJECT_NAME

DOVE: OBJECT_TYPE come Tabella, Procedura, Vista, Funzione, Database, Trigger, Assembly, Sequenza, Indice ecc.

SE ESISTE: è una clausola facoltativa e se è menzionata nell’istruzione DROP, controlla l’esistenza dell’oggetto, se esiste, altrimenti continuerà a eseguire l’istruzione successiva nel blocco senza sollevare problemi.

Cerchiamo di capire questa nuova clausola IF EXISTS nell’istruzione DROP con un ampio elenco di esempi., Per dimostrare questa clausola creiamo prima un database di esempio con una tabella e una Stored Procedure.

CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO

RILASCIA Stored Procedure SE ESISTE

Come verificare se esiste una Stored Procedure

In Sql Server 2016 possiamo scrivere un’istruzione come di seguito per eliminare una Stored Procedure se esiste.

DROP PROCEDURE IF EXISTS dbo.WelcomeMessage

Se la stored procedure non esiste non sollevare qualsiasi errore, è continuare a eseguire l’istruzione successiva nel batch., Proviamo a rilasciare nuovamente la stored procedure WelcomeMessage che è già stata eliminata.

Dal risultato è chiaro che non genererà alcun errore se la stored procedure non esiste, continuerà a eseguire l’istruzione successiva nel batch.

Nelle versioni precedenti di Sql Server usiamo l’istruzione come di seguito per eliminare la stored procedure se esiste.,

IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND

È possibile consultare l’articolo Come verificare se esiste una Stored Procedure per visualizzare varie opzioni nelle versioni precedenti di Sql Server per verificare l’esistenza di una Stored Procedure.

DROP TABLE IF EXISTS

Come verificare se esiste una tabella

In Sql Server 2016 possiamo scrivere una dichiarazione come di seguito per eliminare una tabella se esiste.,

DROP TABLE IF EXISTS dbo.Customers

Se la tabella non esiste non sollevare qualsiasi errore, è continuare a eseguire l’istruzione successiva nel batch. Proviamo a ri-cadere il tavolo dbo.Clienti che è già caduto.

Dal risultato è chiaro che non genererà alcun errore se la Tabella non esiste, continuerà a eseguire l’istruzione successiva nel batch.,

Nelle versioni precedenti di Sql Server usiamo l’istruzione come di seguito per eliminare la tabella se esiste.

IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND

Puoi consultare l’articolo Come verificare se esiste una tabella per vedere varie opzioni nelle versioni precedenti di Sql Server per verificare l’esistenza di una tabella.

DROP DataBase IF EXISTS

Come verificare se esiste un database

In Sql Server 2016 possiamo scrivere una dichiarazione come di seguito per eliminare un database se esiste.,

USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB

Se il Database non esiste non sollevare qualsiasi errore, è continuare a eseguire l’istruzione successiva nel batch. Proviamo a rilasciare nuovamente il database SqlHintsDemoDB che è già stato eliminato.

Dal risultato è chiaro che, non genererà alcun errore se il Database non esiste, continuerà a eseguire l’istruzione successiva nel batch.,

Nelle versioni precedenti di Sql Server usiamo l’istruzione come di seguito per eliminare il database se esiste.

IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND

Puoi consultare l’articolo Come verificare se esiste un database per vedere varie opzioni nelle versioni precedenti di Sql Server per verificare l’esistenza di un database.,ISJSON Funzione in Sql Server 2016

  • JSON_VALUE Funzione in Sql Server 2016
  • JSON_QUERY Funzione in Sql Server 2016
  • lax e rigoroso JSON Percorso di modalità di Sql Server 2016
  • la Strategia di Indicizzazione per JSON Valore in Sql Server 2016
  • DROP SE ESISTE una Istruzione Sql Server 2016
  • Confrontare i Piani di Esecuzione in Sql Server 2016
  • Live Statistiche delle Query in Sql Server 2016
  • DATEDIFF_BIG Funzione in Sql Server 2016
  • Differenza tra DATEDIFF e DATEDIFF_BIG funzioni in Sql Server
  • SESSION_CONTEXT in Sql Server 2016
  • Articles

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *