Таблица не существует по имени таблицы - PullRequest
0 голосов
/ 26 сентября 2018

Можно ли в SQL Server проверить, существует ли таблица таким образом?Если он не существует, он запустит catch

             declare @SQL  varchar(4444)

             select @SQL = '
             begin try
                select * from ServerName.DBName.dbo.TableNAme
             end try
             begin catch
                select 1
             end catch'

             exec (@SQL)

Я не хочу использовать решение, описанное здесь , потому что я хочу использовать точно такую ​​же структуру таблицы, как и выше.

Причина: я выполню несколько динамических запросов в цикле, и выше ServerName, DbName, TableName будут переданы в качестве параметра.

1 Ответ

0 голосов
/ 26 сентября 2018

Это должно работать, если вы делаете это динамически.Если вы не сделаете это динамически, отсутствующая таблица будет обнаружена во время разбора, и CATCH не будет запущен.

РЕДАКТИРОВАТЬ: я имею в виду, как это:

         declare @SQL  varchar(4444)

         select @SQL = 'select * from ServerName.DBName.dbo.TableNAme'
         begin try
            exec (@SQL)
         end try
         begin catch
            select 1
         end catch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...