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

Откуда: г. Калуга
Сообщений: 1213
Запрос:
insert into DebitClient exec DV_SP_DebitClient 69, -1
select * from DebitClient


в выборка процедуры состоит из запросов к двум таблицам одинаковой структуры
.....
select * from @DebitClientMain -- возвращает 3 записи
select * from @DebitClient -- возвращает 4 записи
......

Эти два селекта в процедуре отладочные. Не закоментил первый, приписал второй и увидел 7 записей вместо 4-х ожидаемых.
А я думал что получу только последний запрос. Почему они объединились?
2 окт 14, 14:13    [16650427]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
minva
Почему они объединились?

Потому что так написано в документации
2 окт 14, 14:20    [16650477]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
minva
А я думал что получу только последний запрос. Почему они объединились?
Потому что так работает insert into ... exec.
2 окт 14, 14:21    [16650483]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8813
Ну а куда девать другие наборы данных, если их надо вернуть?
2 окт 14, 14:24    [16650503]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2415
Владислав Колосов,

во времянки пихать
2 окт 14, 14:25    [16650511]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
minva
Member

Откуда: г. Калуга
Сообщений: 1213
Glory, можете ткнуть носом?
Я нашел только
"Если аргумент execute_statement используется с инструкцией INSERT, каждый результирующий набор должен быть совместим со столбцами в таблице или списке column_list."

"каждый результирующий набор" Косвенно и подтверждает мой результат, но как-то не явно это
2 окт 14, 14:25    [16650517]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
minva
"каждый результирующий набор" Косвенно и подтверждает мой результат, но как-то не явно это

Мда.
Т.е. нужно было вместо "каждый" написать, что это 2-ой,3-ий,4-ий и тд наборы ?
2 окт 14, 14:33    [16650579]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
minva
Member

Откуда: г. Калуга
Сообщений: 1213
Glory, по словом "каждый" еще не подразумевается, что они объединяться на выходе.
2 окт 14, 15:05    [16650845]     Ответить | Цитировать Сообщить модератору
 Re: возврат запроса из процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
minva
Glory, по словом "каждый" еще не подразумевается, что они объединяться на выходе.

Они и не объединяются. Они все попадают в INSERT по-очереди.
Потому что INSERT ... EXEC - это единая команда
2 окт 14, 15:08    [16650871]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить