Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
glyzin Member Откуда: Сообщений: 258 |
Здравствуйте Есть запрос который возвращает Iddoc1 select iddoc1 from [1journal_t] where iddoc1 in (select iddoc1 from [1journal_h] where status2=2) group by iddoc1 having sum( statusdoc3)/count(*)=3 есть процедура exec statusRefreshV8 @iddoc1 как можно запустить данную процедуру , подставляя в качестве параметра @iddoc1 результат запроса помогите, спасибо. Сообщение было отредактировано: 16 апр 14, 14:45 |
16 апр 14, 14:41 [15890955] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
declare @iddoc1 нужного_типа select @iddoc1 = iddoc1 from [1journal_t] where iddoc1 in (select iddoc1 from [1journal_h] where status2=2) group by iddoc1 having sum( statusdoc3)/count(*)=3 exec statusRefreshV8 @iddoc1 |
16 апр 14, 14:46 [15890988] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
Если возвращается более одной записи и для них для всех надо запускать процедуру, то курить про declare cursor, или процедуру переделывать.
Сообщение было отредактировано: 16 апр 14, 14:47 |
16 апр 14, 14:47 [15890997] Ответить | Цитировать Сообщить модератору |
glyzin Member Откуда: Сообщений: 258 |
в том то и дело что много записей возвращается , для одной я бы ручками бы сделал. |
16 апр 14, 14:48 [15891013] Ответить | Цитировать Сообщить модератору |
glyzin Member Откуда: Сообщений: 258 |
спасибо, с помощью курсоров сделал |
16 апр 14, 17:39 [15892311] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
Решение с курсором - это "костыль", который используется в случае, когда процедуру по каким-то причинам невозможно доработать. |
17 апр 14, 10:15 [15894609] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |