Я знаю, что вы можете сделать это
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
.Итак, как лучше всего проверить, существует ли схема в конкретной базе данных?