在SQL Server中执行多个过程而无需重新声明变量

时间:2013-06-05 15:07:03

标签: sql variables loops procedure

我有一系列存储过程都使用相同的变量。我希望每个存储过程在进入下一个存储过程之前完全执行。我在每个过程结束时添加了一个GO语句,但我不想在每次运行后重新声明变量。有没有办法在GO之后循环回变量,然后在序列中选择下一个proc?以下是供参考的代码示例:

DECLARE @depType AS VARCHAR(20)
SET @deptype='X'

EXEC [Stored_Procedure1], @deptype
GO

EXEC [Stored_Procedure2], @deptype
GO

EXEC [Stored_Procedure3], @deptype
GO

2 个答案:

答案 0 :(得分:2)

请忽略GO条:

DECLARE @depType AS VARCHAR(20);
SET @deptype='X';

EXEC [Stored_Procedure1], @deptype;

EXEC [Stored_Procedure2], @deptype;

EXEC [Stored_Procedure3], @deptype;

他们定义批次,变量仅在批次中定义。

答案 1 :(得分:0)

会做什么

GO TO; -- Stored_Procedure1 EXEC [Stored_Procedure1], @deptype;

有帮助吗?