powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Создание VIEW в хранимой процедуре !!!
7 сообщений из 7, страница 1 из 1
Создание VIEW в хранимой процедуре !!!
    #32014066
Gunner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему из Анализатора такое проходит, а в хранимой процедуре это описать нельзя ??

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'problem_answering_device')
DROP VIEW problem_answering_device
GO
CREATE VIEW problem_answering_device (Raion, Ats, Number)
AS
SELECT RaionStat.Raion, AtsStat.Ats, Ats.Number
FROM RaionStat, AtsStat, Ats, DateStat, TimeStat
...
Рейтинг: 0 / 0
Создание VIEW в хранимой процедуре !!!
    #32014069
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GO надо убрать, т.к. этот оператор заканчивает тело хранимой процедуры.
...
Рейтинг: 0 / 0
Создание VIEW в хранимой процедуре !!!
    #32014071
Gunner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если убрать GO то компилятор начинает говорить следующее "Incorrect syntax near the keyword VIEW" !! Как быть ?
...
Рейтинг: 0 / 0
Создание VIEW в хранимой процедуре !!!
    #32014073
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В хелпе я не нашел почему это нельзя делать, обойти можно несколькими способами
1. Использовать в хр процедуре запросы без View
2. Скинуть данные во временную таблицу и использовать ее вместо View
3. Создать View до вызова хр процедуры.
...
Рейтинг: 0 / 0
Создание VIEW в хранимой процедуре !!!
    #32014076
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Topic: stored procedures, programming

Rules for programming stored procedures include:

The CREATE PROCEDURE definition itself can include any number and type of SQL statements except for the following CREATE statements, which cannot be used anywhere within a stored procedure:
CREATE DEFAULT
CREATE TRIGGER
CREATE PROCEDURE
CREATE VIEW
CREATE RULE
...

И честно говоря слабо представляю зачем нужно такое - создавать view из процедуры. Создавать процедуру которая просто создаёт view? Может проще один раз создать его и забыть об этом?
...
Рейтинг: 0 / 0
Создание VIEW в хранимой процедуре !!!
    #32014078
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да тормознул я по этому поводу, а выход то элементарный

create proc proc1 as
...
exec('create view view1 as ...')
...
drop view view1
GO

А необходимость создания view внутри хп вполне может быть: например ее структура зависит от входных параметров и view затем используется внутри процедуры из многих запросов
...
Рейтинг: 0 / 0
Создание VIEW в хранимой процедуре !!!
    #32014090
DiMa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По моему можно и временной таблицей обойтись...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Создание VIEW в хранимой процедуре !!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]