SQL Server Management Studio - 运行 多个存储过程串联

SQL Server Management Studio - run multiple stored procedures in series

我想针对各种输入测试 30 个存储过程,看看是否会产生错误。存储过程共享相同的参数。当我在 SSMS 中 运行 所有这些(甚至只是其中的几个)时,执行 运行s 并且永远不会完成。似乎它们可能 运行 并行并使服务器停滞不前。如何在不手动一次执行一个的情况下依次执行存储过程?

DECLARE @spResult int;
DECLARE @paramA int;
DECLARE @paramB int;
DECLARE @paramC int;

set @paramA = 2013
set @paramB = 1;
set @paramC = 10;

exec @spResult = rstoredProc1    @paramA ,@paramB  ,@paramC
exec @spResult = rstoredProc2    @paramA ,@paramB  ,@paramC
exec @spResult = rstoredProc3    @paramA ,@paramB  ,@paramC
exec @spResult = rstoredProc4    @paramA ,@paramB  ,@paramC
exec @spResult = rstoredProc5    @paramA ,@paramB  ,@paramC
...

许多 方法可以解决这个问题。就个人而言,我使用 IF 来保持迭代进行,如果我没有获得成功代码则使用 RETURN 。在你的情况下,你可以做类似的事情:

EXEC @spResult = rstoredProc1 @paramA ,@paramB ,@paramC
IF @spResult <> 0
     RETURN
ELSE
     PRINT 'rstoredProc1 executed successfully'

EXEC @spResult = rstoredProc2 @paramA ,@paramB ,@paramC
IF @spResult <> 0
     RETURN
ELSE
     PRINT 'rstoredProc2 executed successfully'