In SQL Server 2016, IF EXISTS is the new optional clause introduced in the existing DROP statement. Basicamente, ele verifica a existência do objeto, se o objeto existe ele o deixa cair e se ele não existe ele vai continuar executando a próxima declaração no lote. Basicamente evita a escrita se a condição e dentro da condição escrever uma declaração para verificar a existência do objeto.,

sintaxe:

DROP OBJECT_TYPE OBJECT_NAME

em que: OBJECT_TIPO como Tabela, procedimento, Vista, função, Base de dados, gatilho, conjunto, sequência, Índice, etc.

se existir: é uma cláusula opcional e se for mencionada na declaração de largada, então verifica a existência do objecto, se existir irá cair de outra forma continua a executar a próxima declaração no bloco sem levantar quaisquer problemas.

vamos entender esta nova cláusula se existe na declaração DROP com uma extensa lista de exemplos., Para demonstrar esta cláusula vamos primeiro criar um banco de dados de amostra com uma tabela e um procedimento armazenado.

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

DROP Stored Procedure IF EXISTS

How to check if a Stored Procedure exists

In SQL Server 2016 we can write a statement like below to drop a Stored Procedure if exists.

DROP PROCEDURE IF EXISTS dbo.WelcomeMessage

, Vamos tentar voltar a largar a mensagem de Boas-Vindas do procedimento armazenado, que já foi descartada.

a Partir do resultado, é claro que ele não vai levantar qualquer erro se o procedimento armazenado não existe, ele irá continuar a executar a próxima instrução no lote.

nas versões anteriores do servidor Sql usamos uma declaração como abaixo para largar o procedimento armazenado se existir.,

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

Você pode ir até o artigo Como verificar se um Procedimento Armazenado existe para ver várias opções em versões anteriores do Sql Server para verificar a existência de um Procedimento Armazenado.

DROP TABLE IF EXISTS

How to check if a Table exists

In SQL Server 2016 we can write a statement like below to drop a Table if exists.,

DROP TABLE IF EXISTS dbo.Customers

Vamos tentar voltar a largar o dbo da mesa.Clientes que já foram descartados.

a Partir do resultado, é claro que ele não vai levantar qualquer erro se a Tabela não existir, ele irá continuar a executar a próxima instrução no lote.,

nas versões anteriores do servidor Sql usamos uma declaração como abaixo para largar a tabela se existir.

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

Você pode ir até o artigo Como verificar se existir uma Tabela para ver várias opções em versões anteriores do Sql Server para verificar a existência de uma Tabela.

DROP DataBase IF EXISTS

How to check if a Database exists

In SQL Server 2016 we can write a statement like below to drop a DataBase if exists.,

USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB

Vamos tentar reler a base de dados SqlHintsDemoDB que já foi descartada.

a Partir do resultado, é evidente que ele não vai levantar qualquer erro se o Banco de dados não existir, ele irá continuar a executar a próxima instrução no lote.,

nas versões anteriores do servidor Sql usamos uma declaração como abaixo para largar a base de dados se existir.

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

pode ler o artigo Como verificar se existe uma base de dados para ver várias opções nas versões anteriores do servidor Sql para verificar a existência de uma base de dados.,ISJSON Função no Sql Server 2016

  • JSON_VALUE Função no Sql Server 2016
  • JSON_QUERY Função no Sql Server 2016
  • lax e rigoroso JSON Caminho modos no Sql Server 2016
  • a Estratégia de Indexação para JSON Valor no Sql Server 2016
  • DROP SE EXISTE Instrução em Sql Server de 2016
  • Compare Planos de Execução no Sql Server 2016
  • Live Consulta de Estatísticas no Sql Server 2016
  • DATEDIFF_BIG Função no Sql Server 2016
  • Diferença entre DATEDIFF e DATEDIFF_BIG funções no Sql Server
  • SESSION_CONTEXT no Sql Server 2016
  • Articles

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *