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

Откуда: Архангельск
Сообщений: 131
Доброго времени суток, ситуация достаточно тривиальная, необходимо сделать VIEW, в которой содержатся данные о контрагенте и текущий баланс, баланс считается процедурой. Туплю насчет построения SQL запроса:
CREATE VIEW VIEW_1 AS
DECLARE @I INT
SELECT 
  @ID =  ID,
  NAME,
  ADRES,
  ...
  (EXEC GET_BALANS @ID) AS BALANS
GO
Вроде по логике вещей что-то около этого, но не работает, где я ошибаюсь?
19 авг 11, 14:26    [11146425]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
comtehno,

лучше считать, что это невозможно.
Переделайте процедуру в функцию.
Лучше бы в табличную inline
19 авг 11, 14:27    [11146443]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А чо, уже во вьюхах стало можно процедуры вызывать? Какая версия сиквела?
19 авг 11, 14:28    [11146455]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
comtehno
Member

Откуда: Архангельск
Сообщений: 131
Вот в этом вопрос и встал, возможно ли это :)
19 авг 11, 14:30    [11146482]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
comtehno
Member

Откуда: Архангельск
Сообщений: 131
iap
comtehno,

лучше считать, что это невозможно.
Переделайте процедуру в функцию.
Лучше бы в табличную inline


Это-то понятно, трабла в том, что исходники программы у меня отсутствуют, могу рулить БД только, прога для отображения данных написана на делфи с использованией TADOQuery боюсь, что там жестко прописан селект вьюхи.
19 авг 11, 14:36    [11146570]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
comtehno, ну и оставляйте вьюху. А процедуру переделать в фукцию.
19 авг 11, 14:38    [11146603]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
comtehno
Member

Откуда: Архангельск
Сообщений: 131
kDnZP,
Хотя да, согласен, попробую, спасибо
19 авг 11, 14:40    [11146620]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3754
comtehno
kDnZP,
Хотя да, согласен, попробую, спасибо


или вьюху переделай в процедуру
а в ней:

insert into #temp ...
exec proc


select ....

from #temp
19 авг 11, 15:24    [11147128]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Ivan Durak
или вьюху переделай в процедуру
Это как???

Как потом вызвать эту процедуру как вьюху?
kDnZP
А процедуру переделать в фукцию.
Или ещё лучьше поправить вьюху без функции, что бы она давала нужный результат.
По моему, это намного проще, и работать будет намного быстрее.
19 авг 11, 15:55    [11147469]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
comtehno
Member

Откуда: Архангельск
Сообщений: 131
ну в общем то как обычно, exec [procedure name] если процедура селектовая то так и выдаст ответ в виде таблички
22 авг 11, 01:38    [11154646]     Ответить | Цитировать Сообщить модератору
 Re: Вызов хранимой процедуры из SELECT  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Пусть пару раз в день процедура сбрасывает в некую таблицу данные о балансе.
А вьюха потом будет их очень комфортно показывать.
22 авг 11, 11:52    [11155799]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить