我有一些用于生成报告的存储过程。我正在尝试构建一个报告仪表板,该仪表板将显示每个报告中有多少条记录。
SP 在表格中详细说明,其中详细说明了它们应按何种顺序运行。
我有一个仪表板 SP,我在其中使用 Cursor 遍历数据库表,执行每个报告 SP,然后将 @@rowcount 保存到构成仪表板基础的临时表中。
我可以使用每个 SP 顶部的 set rowcoun off 来关闭行计数,但是我找不到阻止从 EXEC sp_my_sp 命令返回的结果集的方法。
而@@FETCH_STATUS = 0 开始 将 @x 声明为 int 执行 @SP_name @x OUT 选择@x 插入@results (Short___name,Records) 值 (@shortname,@x) 从 myCursor 获取下一个到 @ShortName、@SP_Name、@Group、@Order 结尾
在那里的某个地方我需要抑制或重定向输出。我不想在实际的报告 SP 中这样做。
到目前为止,我想出的唯一解决方案是向每个 SP 添加一个输入参数,以说明它是为仪表板运行还是为报表运行。与其直接返回结果集,不如将其插入内存表中,然后仅在我们运行报告时才报告内存表 - 不好,因为有人必须记住为每个新的 SP 都这样做
TIA
奥比龙