Как я запрашиваю, существует ли схема базы данных

91
задан David Clarke 9 September 2015 в 23:17
поделиться

2 ответа

Вы ищете sys.schemas?

IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'jim')
BEGIN
EXEC('CREATE SCHEMA jim')
END

Примечание, что эти CREATE SCHEMA должен быть выполнен в его собственном пакете (на ответ ниже )

150
ответ дан Community 24 November 2019 в 06:38
поделиться

@bdukes является правильным на деньгах для определения, если схема существует, но оператор выше не будет работать в SQL Server 2005. CREATE SCHEMA <name> потребности работать в его собственном пакете. Работа вокруг должна выполниться CREATE SCHEMA оператор в должностном лице.

Вот то, что я использовал в своих сценариях сборки:

IF NOT EXISTS (SELECT 1 FROM sys.schemas WHERE name = '<name>')
BEGIN
    -- The schema must be run in its own batch!
    EXEC( 'CREATE SCHEMA <name>' );
END
151
ответ дан Aaron Bertrand 24 November 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: