У меня есть несколько хранимых процедур, которые используются для создания отчетов. Я пытаюсь создать панель отчетов, которая покажет, сколько записей в каждом отчете.T-SQL 2005: подавление вывода результатов
SPs подробно описаны в таблице, в которой подробно описывается, в каком порядке их следует запускать.
У меня есть панель инструментов, в которой я использую курсор для доступа к таблице базы данных, выполняю каждый отчет 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, чтобы сказать, выполняется ли он для панели мониторинга или для отчета. Вместо того, чтобы напрямую возвращать результаты, вставьте его в таблицу с внутренней памятью и затем сообщите в таблицу памяти ТОЛЬКО, если мы работаем для отчетов - не приятно, поскольку кто-то должен помнить, что нужно делать это для каждого нового SP
ТИА
Obiron