我想针对各种输入测试30个存储过程,以查看是否产生错误。存储过程共享相同的参数。当我在SSMS中运行所有它们(甚至只有几个)时,执行将运行并且永远不会完成。似乎它们正在并行运行并且使服务器瘫痪。我该如何依次执行存储过程,而不必一次手动执行一个过程?
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'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句