dans Sql Server 2016, IF EXISTS est la nouvelle clause facultative introduite dans L’instruction DROP existante. Fondamentalement, il vérifie l’existence de l’objet, si l’objet n’existe, il le laisse tomber et si il n’existe pas, il continuera l’exécution de la prochaine instruction dans le lot. Fondamentalement, il évite d’écrire if condition et within if condition écrivant une instruction pour vérifier l’existence de l’objet.,
syntaxe:
DROP OBJECT_TYPE OBJECT_NAME
où: OBJECT_TYPE comme Table, procédure, Vue, fonction, Base de données, déclencheur, assemblage, séquence, Index etc.
IF EXISTS: c’est une clause facultative et si elle est mentionnée dans L’instruction DROP, elle vérifie l’existence de l’objet, s’il existe, il déposera sinon continue d’exécuter l’instruction suivante dans le bloc sans soulever de problèmes.
comprenons cette nouvelle clause IF EXISTS dans L’instruction DROP avec une longue liste d’exemples., Pour démontrer cette clause, créons d’abord un exemple de base de données avec une Table et une procédure stockée.
CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO
BAISSE de la Procédure Stockée S’il EXISTE
Comment faire pour vérifier si une Procédure Stockée existe
Dans Sql Server 2016, nous pouvons écrire une instruction comme ci-dessous pour déposer une Procédure Stockée s’il existe.
DROP PROCEDURE IF EXISTS dbo.WelcomeMessage
Si la procédure stockée n’existe pas, il ne soulèvera aucune erreur, il va poursuivre l’exécution de l’instruction suivante dans le lot., Essayons de supprimer à nouveau la procédure stockée WelcomeMessage qui est déjà supprimée.
dans le résultat, il est clair qu’il ne soulèvera aucune erreur si la procédure stockée n’existe pas, il continuera l’exécution de la prochaine instruction dans le lot.
dans les versions précédentes de Sql Server, nous utilisons une instruction comme ci-dessous pour supprimer la procédure stockée si elle existe.,
IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND
Vous pouvez passer par l’article Comment vérifier si une Procédure Stockée existe pour voir les différentes options dans les versions précédentes de Sql Server pour vérifier l’existence d’une Procédure Stockée.
DROP TABLE IF EXISTS
Comment vérifier si une Table existe
dans Sql Server 2016, nous pouvons écrire une instruction comme ci-dessous pour supprimer une Table si elle existe.,
DROP TABLE IF EXISTS dbo.Customers
Si la table n’existe pas, il ne soulèvera aucune erreur, il va poursuivre l’exécution de l’instruction suivante dans le lot. Essayons de re-déposer la Table dbo.Clients qui est déjà abandonné.
dans le résultat, il est clair qu’il ne soulèvera aucune erreur si la Table n’existe pas, il continuera l’exécution de la prochaine instruction dans le lot.,
dans les versions précédentes de Sql Server, nous utilisons une instruction comme ci-dessous pour supprimer la Table si elle existe.
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND
Vous pouvez passer par l’article Comment vérifier si une Table existe pour voir les différentes options dans les versions précédentes de Sql Server pour vérifier l’existence d’une Table.
DROP DataBase IF EXISTS
Comment vérifier si une base de données existe
dans Sql Server 2016, nous pouvons écrire une instruction comme ci-dessous pour supprimer une base de données si elle existe.,
USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB
Si la Base de données n’existe pas, il ne soulèvera aucune erreur, il va poursuivre l’exécution de l’instruction suivante dans le lot. Essayons de supprimer à nouveau la base de données SqlHintsDemoDB qui est déjà supprimée.
dans le résultat, il est clair qu’il ne soulèvera aucune erreur si la Base de données n’existe pas, il continuera l’exécution de la prochaine instruction dans le lot.,
dans les versions précédentes de Sql Server, nous utilisons une instruction comme ci-dessous pour supprimer la base de données si elle existe.
IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND
Vous pouvez passer par l’article Comment vérifier si une Base de données existe pour voir les différentes options dans les versions précédentes de Sql Server pour vérifier l’existence d’une Base de données.,Fonction ISJSON dans Sql Server 2016
lans D’exécution dans SQL Server 2016