このようなクエリの場合は、常にINFORMATION_SCHEMA
を使用するのが最適です。 見る。これらのビューは(ほとんど)多くの異なるデータベースで標準であり、バージョンごとに変わることはめったにありません。
テーブルが存在するかどうかを確認するには、次を使用します。
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END