Проверьте, существует ли таблица, прежде чем выполнять UNION в SQL Server

Чтобы проверить наличие таблицы в SQL Server перед выполнением операции UNION, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование представления системного каталога «sys.tables»:
    Вы можете запросить представление «sys.tables», чтобы проверить, существует ли таблица, прежде чем выполнять операцию UNION. Вот пример:

    IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'YourTableName')
    BEGIN
       -- Perform UNION operation
       SELECT column1, column2 FROM Table1
       UNION
       SELECT column1, column2 FROM Table2
    END
  2. Использование представления «INFORMATION_SCHEMA.TABLES».
    Другой метод — использовать представление «INFORMATION_SCHEMA.TABLES», чтобы проверить, существует ли таблица. Вот пример:

    IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'YourTableName')
    BEGIN
       -- Perform UNION operation
       SELECT column1, column2 FROM Table1
       UNION
       SELECT column1, column2 FROM Table2
    END
  3. Использование блока try-catch.
    Вы также можете использовать блок try-catch для обработки сценария, когда таблица не существует. Вот пример:

    BEGIN TRY
       -- Perform UNION operation
       SELECT column1, column2 FROM Table1
       UNION
       SELECT column1, column2 FROM Table2
    END TRY
    BEGIN CATCH
       -- Table does not exist, handle the exception
       -- ... your error handling code here ...
    END CATCH

Это несколько способов проверить существование таблицы перед выполнением операции UNION в SQL Server. Выберите метод, который соответствует вашим требованиям и стилю кодирования.