Вы ищете sys.schemas?
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'jim')
BEGIN
EXEC('CREATE SCHEMA jim')
END
Примечание, что эти CREATE SCHEMA
должен быть выполнен в его собственном пакете (на ответ ниже )
@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