У меня есть несколько хранимых процедур, которые используются для генерации отчетов. Я пытаюсь создать панель отчетов, которая будет показывать, сколько записей в каждом отчете.
SP приведены в таблице, в которой указано, в каком порядке их следует запускать.
У меня есть SP панели инструментов, в котором я использую Cursor для просмотра таблицы базы данных, выполнения каждого отчета SP, а затем сохраняю @@ rowcount во временной таблице, которая составляет основу панели мониторинга.
Я могу отключить счетчик строк, используя set rowcoun в верхней части каждого SP, но не могу найти способ остановить восстановление набора результатов из команды EXEC sp_my_sp.
WHILE @@FETCH_STATUS = 0
BEGIN
declare @x as int
exec @SP_name @x OUT
select @x
insert into @results (Short___name,Records) values (@shortname,@x)
FETCH NEXT FROM myCursor INTO @ShortName, @SP_Name,@Group,@Order
END
Где-то там мне нужно подавить или перенаправить вывод. Я не хочу делать это внутри фактического отчета SP.
Единственное решение, которое я до сих пор предлагал, - это добавить входной параметр к каждому SP, чтобы указать, выполняется ли он для панели мониторинга или для отчета. Вместо того, чтобы возвращать набор результатов напрямую, вставьте его в таблицу в памяти и затем сообщите таблицу в памяти ONLY , если мы работаем за отчетами - не очень хорошо, поскольку кто-то должен помнить, чтобы сделать это для каждый новый SP
ТИА
Obiron