For queries like this it is always best to use an INFORMATION_SCHEMA view. These views are (mostly) standard across many different databases and rarely change from version to version.
To check if a table exists use:
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = ‘TheSchema’
AND TABLE_NAME = ‘TheTable’))
BEGIN
–Do Stuff
END
Also note that if for any reason you need to check for a temporary table you can do this:
if OBJECT_ID(‘tempdb..#test’) is not null
— temp table exists