我需要编写一个为公司生成报告的长程序。 由于报告涉及要提取的多个数据,因此我编写了许多小程序来获取不同的记录。 是在主程序中编写许多子程序并在主程序中调用它们的写入方法吗?
请帮助或有其他方法可以做到这一点。
答案 0 :(得分:0)
除非你真的疯狂(**)并构建一个存储过程的'树',每个调用另一个,我没有看到任何问题。
实际上可能会带来好处**:MSSQL中有一个“限制”,即堆栈限制为32个级别。也就是说,如果procedure1调用procedure1_1并且该过程调用procedure1_1_1并且那个调用另一个等等...当你超过32个调用'deep'时,你会收到一个错误。然而,顺序调用多个存储过程不是问题。
唯一要记住的是您正在使用的变量/临时表的上下文。如果你想传递值,你需要使用参数。 (使用`OUTPUT可以用来跟踪例如@rowcount变量。)