Pour des requêtes comme celle-ci, il est toujours préférable d'utiliser un INFORMATION_SCHEMA
voir. Ces vues sont (pour la plupart) standard dans de nombreuses bases de données différentes et changent rarement d'une version à l'autre.
Pour vérifier si une table existe, utilisez :
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END