声明批处理后,本地变量不可用

时间:2013-09-25 17:50:26

标签: sql-server-2005

这是我的第一个T-SQL问题,所以我希望我没有使用错误的术语。我刚刚学到了一些基本的存储过程和变量声明,但是有些东西我还没有理解。

DECLARE @CurrentDate DATETIME
SET @CurrentDate = GETDATE()
select @CurrentDate

-----------------------
2013-09-25 18:47:07.547

(1 row(s) affected)

如果我分两批运行上述内容(declaresetselect之后),我得到:

DECLARE @CurrentDate DATETIME
SET @CurrentDate = GETDATE()

Command(s) completed successfully.

select @CurrentDate

Msg 137, Level 15, State 2, Line 1
Must declare the scalar variable "@CurrentDate".

它可能很简单,但我找不到解决方案......

1 个答案:

答案 0 :(得分:2)

抱歉,你不能分开运行这些。变量的范围限定为批处理。您不必在存储过程中担心这一点,因为您无法像在Management Studio中那样单独添加GO或执行代码的两个部分。