SQL - 以变量作为参数执行过程

时间:2014-01-01 15:33:38

标签: sql variables parameters procedure

我刚学会了如何在SQL中创建存储过程(使用SQL Server 2008)。我想知道是否可以这样做:

USE [SomeDB]
GO

DECLARE @var int = 3
GO

EXEC SomeProcedure @param = @var
GO

当我尝试这个时,它会给出错误:“必须声明标量变量”@var“。

我基本上试图将变量作为参数传递。肯定有办法做到这一点吗?

1 个答案:

答案 0 :(得分:5)

GO命令用于分隔SQL批处理。第二个GO命令导致DECLARE语句变量被删除,因为EXEC启动了一批新命令

USE [SomeDB]
GO

DECLARE @var int = 3
--  GO

EXEC SomeProcedure @param = @var
GO