Websource : Agence web des startups

Comment vérifier si une table existe dans SQL Server ?

le Vendredi 30 avril 2021 à 00:00

Comment vérifier si une table existe dans SQL Server ?

Il y a plusieurs façon plus ou moins élégantes. Tout d'abord, il y a la possibilité d'utiliser les tables systèmes comme la table sys.tables :

IF EXISTS(SELECT * FROM sys.Tables where name = 'Matable')

BEGIN

END

Attention, il peut exister plusieurs tables avec un même nom dans des schémas différents, il faut donc faire une jointure avec sys.schemas pour affiner sa recherche et donc remplacer la requête par :

SELECT t.name FROM sys.Tables T INNER JOIN sys.Schemas ON T.Schema_Id = S.Schema_Id WHERE s.name='MonSchema' AND t.name='MaTable'

Une autre écriture bien plus courte consiste à utiliser la fonction OBJECT_ID().

IF OBJECT_ID('MonSchema.MaTable’) IS NOT NULL

BEGIN

END

La synthaxe est approximative mais cela devrait fonctionner.

DeveloppementDeveloppement WebSQL