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

SQL-以变量作为参数执行过程,sql,variables,parameters,procedure,Sql,Variables,Parameters,Procedure,我刚刚学习了如何在SQL中创建存储过程(使用SQLServer2008)。我想知道是否可以这样做: USE [SomeDB] GO DECLARE @var int = 3 GO EXEC SomeProcedure @param = @var GO 当我尝试这样做时,它给出了一个错误:“必须声明标量变量“@var” 我基本上是想把一个变量作为参数传递。一定有办法做到这一点吗?GO命令将SQL批分开。第二个GO命令导致DECLARE语句变量被删除,因为EXEC启动了一批新的命令 USE [

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

USE [SomeDB]
GO

DECLARE @var int = 3
GO

EXEC SomeProcedure @param = @var
GO
当我尝试这样做时,它给出了一个错误:“必须声明标量变量“@var”


我基本上是想把一个变量作为参数传递。一定有办法做到这一点吗?

GO命令将SQL批分开。第二个GO命令导致DECLARE语句变量被删除,因为EXEC启动了一批新的命令

USE [SomeDB]
GO

DECLARE @var int = 3
--  GO

EXEC SomeProcedure @param = @var
GO

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

USE [SomeDB]
GO

DECLARE @var int = 3
--  GO

EXEC SomeProcedure @param = @var
GO

第二个GO语句输出第二个GO语句输出还值得注意的是,GO不是一个编译器或查询引擎命令,它由T-SQL工具识别(可以在编辑器中更改)@斯巴克,谢谢你,非常感谢!这是一个愚蠢的错误:PNo问题,这个网站的美妙之处在于有人犯了同样的愚蠢错误。值得注意的是,GO不是一个编译器或查询引擎命令——它被T-SQL工具识别(并且可以在编辑器中更改)@斯巴克,谢谢你,非常感谢!这样一个愚蠢的错误:PNo问题,这个网站的美丽之处在于有人犯了同样愚蠢的错误LOL