W przypadku takich zapytań zawsze najlepiej jest użyć INFORMATION_SCHEMA
pogląd. Widoki te są (w większości) standardowe w wielu różnych bazach danych i rzadko zmieniają się z wersji na wersję.
Aby sprawdzić, czy tabela istnieje, użyj:
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END