如何将sql查询的输出设置为存储过程中的变量

时间:2013-07-09 14:14:04

标签: sql-server

我正在使用2008 R2,我想将“从表名中选择Colname”的输出设置为一个可验证的ie。 @resultvar,所以我可以在存储过程中使用它。

2 个答案:

答案 0 :(得分:1)

如果您只对单个值感兴趣,那就很简单:

DECLARE @resultVar    nvarchar(50)  -- or whatever
SELECT @resultVar = Colname FROM tablename -- with appropriate filtering

如果您需要从存储过程中解决这个问题,那么您需要查看OUTPUT参数:

CREATE procedure MyProcedure
    @resultVar    nvarchar(50)    OUTPUT
AS
    SELECT @resultVar = Colname FROM tablename -- with appropriate filtering

如果您使用SQL来运行该过程,则可以使用:

EXEC MyProcedure @var OUTPUT

显然,如果您使用的是Entity Framework等框架,那么您需要使用该框架提供的任何内容;但是,这是一个完全不同的问题。

请注意,如果多个行从tablename返回,您将只从第一行获取值。如果它比这更复杂,请扩展原始问题。

答案 1 :(得分:0)

您可以使用这样的简单代码:

DECLARE @resultvar AS VARCHAR(64) --or any other type you need
SELECT @resultvar = ColName FROM TableName WHERE --filter on table
PRINT @resultvar