J’ai trouvé beaucoup de questions concernant cette question.
Mais y a-t-il des déclarations simples pour accomplir cette tâche?
pour SQL et ACCESS
IF (EXISTS (SELECT 1 FROM sys.tables WHERE name = 'table_name')) BEGIN -- do stuff END
sys.tables peut également vous donner des informations sur l’object table. Par exemple, la colonne is_replicated
vous indique si la table a été créée par réplication ou la colonne has_replication_filter
vous indique si un filtre de réplication est configuré pour la table.
NB: ceci est pour SQL Server
Edit: Pour l’access:
SELECT COUNT(*) as Exists from MsysObjects WHERE type = 1 AND name = 'MY_TABLE_NAME'
Notez qu’il n’existe pas de méthode normalisée pour le faire en SQL; vous devrez écrire du code spécifique à la plateforme.
À ma connaissance, tous les SGBD ont cette fonctionnalité d’une manière ou d’une autre, mais elle diffère grandement. Par exemple, dans Oracle, vous pouvez interroger la vue sys.all_tables
.
Vous pouvez également utiliser OBJECT_ID.
IF OBJECT_ID('table1') IS NOT NULL print 'Exists' else print 'Not Exists'