Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Почему неправильный скрипт?  [new]
Shovgenyuk
Member

Откуда: Ивано-Франковск-Киев
Сообщений: 462
SQL-Server 2008

Ругается на скрипт:

IF  EXISTS (SELECT * FROM sys.schemas WHERE name = N'test')
CREATE SCHEMA [test] AUTHORIZATION [dbo]
GO



Надо проверить, существует ли SCHEMA [test]. Если не существует, то создать её.

Непойму почему ругается и что неправильного в скрипте...
2 окт 13, 13:08    [14911850]     Ответить | Цитировать Сообщить модератору
 Re: Почему неправильный скрипт?  [new]
Shovgenyuk
Member

Откуда: Ивано-Франковск-Киев
Сообщений: 462
Ошибка в предидущем сообщении, пропустил NOT

должно быть так:

IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'test')
CREATE SCHEMA [test] AUTHORIZATION [dbo]
GO


Хотя на суть вопроса, это не влияет )
2 окт 13, 13:11    [14911871]     Ответить | Цитировать Сообщить модератору
 Re: Почему неправильный скрипт?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Об инструкции CREATE SCHEMA в хелпе сказано, что
BOL
This statement must be executed as a separate batch.

Отдельный батч можно обеспечить, например, с помощью динамического SQL:
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'test')
EXEC('CREATE SCHEMA [test] AUTHORIZATION [dbo]')
GO
2 окт 13, 13:13    [14911885]     Ответить | Цитировать Сообщить модератору
 Re: Почему неправильный скрипт?  [new]
Shovgenyuk
Member

Откуда: Ивано-Франковск-Киев
Сообщений: 462
Спасибо
2 окт 13, 13:19    [14911932]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить