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

Откуда:
Сообщений: 22
Приветствую!
есть корректный запрос:
CREATE VIEW test (day, sum) AS SELECT tb1.date, SUM (*) FROM tb1 ;

Нужно проверить существует ли вьюха 'test', и если ее нет, то добавить.

насколько я знаю проверить существование можно так:
IF (SELECT OBJECT_ID('users')) IS NOT NULL BEGIN *** END ELSE BEGIN END;


Как обеденить проверку и создание вьюхи? просто вставить первый запрос на место *** не получилось
25 сен 12, 23:18    [13221972]     Ответить | Цитировать Сообщить модератору
 Re: Проверка существования и создание view через OBJECT_ID  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
kabee
вставить первый запрос на место *** не получилось
EXEC('***')
25 сен 12, 23:27    [13222023]     Ответить | Цитировать Сообщить модератору
 Re: Проверка существования и создание view через OBJECT_ID  [new]
kabee
Member

Откуда:
Сообщений: 22
alexeyvg, спасибо! вот так все работает! поначалу не обратил внимание на ' ' у экзикьюта.

IF (SELECT OBJECT_ID('test')) IS NULL 
BEGIN
 EXEC(' CREATE VIEW test (day, sum) AS SELECT tb1.date, SUM (*) FROM tb1 ;')
 END 
ELSE  BEGIN END;
25 сен 12, 23:36    [13222073]     Ответить | Цитировать Сообщить модератору
 Re: Проверка существования и создание view через OBJECT_ID  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
OBJECT_ID('test')
А где указание типа объекта во втором параметре?
26 сен 12, 00:13    [13222192]     Ответить | Цитировать Сообщить модератору
 Re: Проверка существования и создание view через OBJECT_ID  [new]
kabee
Member

Откуда:
Сообщений: 22
Mnior
OBJECT_ID('test')

А где указание типа объекта во втором параметре?

Работает и так. Лучше использовать тип?
type='U'
26 сен 12, 01:01    [13222288]     Ответить | Цитировать Сообщить модератору
 Re: Проверка существования и создание view через OBJECT_ID  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
SUM(*) работает?!!
26 сен 12, 09:10    [13222802]     Ответить | Цитировать Сообщить модератору
 Re: Проверка существования и создание view через OBJECT_ID  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
kabee
Mnior
OBJECT_ID('test')

А где указание типа объекта во втором параметре?

Работает и так. Лучше использовать тип?
type='U'
'U' - это пользовательская таблица!
Вам надо 'V'

Дополню Mniorа - а где схема VIEW?
И ещё. Если VIEW есть, а у Вас просто нет прав, чтобы её увидеть,
OBJECT_ID() вернёт NULL, но создать VIEW у Вас всё равно не получится.
26 сен 12, 09:15    [13222824]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить