Sql агрегированные результаты хранимой процедуры - PullRequest
1 голос
/ 27 февраля 2009

В настоящее время у меня есть хранимая процедура, которая возвращает список номеров счетов и связанных с ними деталей. Набор результатов может содержать несколько записей для одного и того же номера счета. Я также хочу получить некоторую сводную информацию, например, сколько отдельных учетных записей содержится в конкретном наборе результатов. Есть ли способ получить такое представление из результатов моей хранимой процедуры, таких как

SELECT AccountNumber, Count(*) 
FROM mystoredproc_sp 
GROUP BY AccountNumber

Хорошо, если она должна содержаться в другой хранимой процедуре, но я хотел бы иметь возможность, по крайней мере, извлечь выгоду из логики, уже существующей в первом SP, без дублирования большей части ее кода.

Ответы [ 2 ]

7 голосов
/ 27 февраля 2009
DECLARE @tt TABLE (acc INTEGER)
INSERT INTO @tt EXECUTE mystoredproc_sp
SELECT acc, COUNT(*) FROM @tt GROUP BY acc
5 голосов
/ 27 февраля 2009

Вам нужно было бы переместить ваш запрос в табличную функцию и вызвать ее из обеих хранимых процедур - старой и новой. Таким образом, у вас есть запрос только в одном месте. Невозможно выбрать из набора результатов хранимой процедуры.

...