Sommaire

Vérifier l’existence d’un objet

Un objet est un composant de la définition de données (LDD). Cela peut donc être une table, une colonne, une vue, un index…

Lorsque l’on travaille sur la définition de données, on teste couramment l’objet sur lequel on intervient. Cela fait partie des bonnes pratiques pour éviter des erreurs. Par exemple, on vérifie qu’une table existe avant de la supprimer ou qu’elle n’existe pas avant de la créer.

Il existe plusieurs manières de tester l’existence d’un objet.

IF OBJECT_ID ... IS NULL IF

Syntaxe (SQL Server)

IF OBJECT_ID(’nom_objet’) IS NULL CREATE...; 
IF OBJECT_ID(’nom_objet’) IS NOT NULL DROP...; 

Exemple

IF OBJECT_ID(’Hotels’) IS NULL 
CREATE TABLE Hotels   (idHotel     INTEGER,  
                       Libelle     VARCHAR(50),  
                       Etoile      VARCHAR(5)); 
 
IF OBJECT_ID(’Hotels’) IS NOT NULL DROP TABLE Hotels 

IF EXISTSEXISTS

Syntaxe (SQL Server et PostgreSQL)

DROP TABLE IF EXISTS nom_objet;

Exemple

DROP TABLE IF EXISTS Hotels;

IF EXISTS (SELECT...)

Syntaxe (SQL Server)

IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME = ’nom_objet’°;

Exemple

IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES 
WHERE ...