Проверьте, существует ли схема в конкретной базе данных на сервере SQL - PullRequest
0 голосов
/ 26 марта 2019

Я знаю, что вы можете сделать это

IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'log')
BEGIN
    -- some code 
END

Но как проверить, существует ли схема в конкретной базе данных?Имя базы данных доступно как @dbname.

Первая попытка

Простое исправление:

exec ('use db_name; select schema_id(''log'')')

Но если вы хотите использовать этов конструкции if вы получите некрасивый синтаксис sp_executesql.Итак, как лучше всего проверить, существует ли схема в конкретной базе данных?

1 Ответ

3 голосов
/ 26 марта 2019

Я бы просто сделал:

IF NOT EXISTS (SELECT * FROM DBName.sys.schemas WHERE name = 'log')
BEGIN
    -- some code 
END

Только что попробовал в моей среде, и это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...