Per query come questa è sempre meglio utilizzare un INFORMATION_SCHEMA
Visualizza. Queste viste sono (per lo più) standard in molti database diversi e raramente cambiano da una versione all'altra.
Per verificare se esiste una tabella usa:
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END