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

Откуда:
Сообщений: 36
Камрады, не понимаю, почему возникает ошибка. Вот такая хранимая процедура

CREATE PROCEDURE Get_Client
AS
CREATE VIEW AA AS
SELECT
CAST(CloseDate AS datetime) AS CloseDate -- Выборка только по дате, время не учитывается
,COALESCE(HotelID, -1) as HotelID -- Проверка на NULL (В случае NULL ставится -1)
FROM HMS
ORDER BY CloseDate

При её компиляции возникает ошибка:

Incorrect syntax near the keyword 'VIEW'

Команда

CREATE VIEW AA AS
SELECT
CAST(CloseDate AS datetime) AS CloseDate -- Выборка только по дате, время не учитывается
,COALESCE(HotelID, -1) as HotelID -- Проверка на NULL (В случае NULL ставится -1)
FROM HMS
ORDER BY CloseDate

написанная отдельно (не в теле процедуры) выполняется без каких-либо вопросов. В чём же дело?
6 сен 13, 13:34    [14804276]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании View в хранимой процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
StJack
Камрады, не понимаю, почему возникает ошибка.

Потому что нельзя создавать два объекта в одном пакете
6 сен 13, 13:43    [14804336]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании View в хранимой процедуре  [new]
StJack
Member

Откуда:
Сообщений: 36
Glory, понятно. Пойду другим путём.
6 сен 13, 13:58    [14804467]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании View в хранимой процедуре  [new]
o-o
Guest
StJack,

create proc dbo.p1 as
if object_id('dbo.vw1') is not null drop view dbo.vw1;
exec ('create view vw1 as select 1 as col');
go

exec dbo.p1;

select *
from dbo.vw1;
6 сен 13, 14:02    [14804496]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить