Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将sql查询的输出设置为可验证的in存储过程_Sql Server - Fatal编程技术网

Sql server 如何将sql查询的输出设置为可验证的in存储过程

Sql server 如何将sql查询的输出设置为可验证的in存储过程,sql-server,Sql Server,我使用的是2008 R2,我想将“Select Colname from tablename”的输出设置为一个可验证的ie.@resultvar,这样我就可以在存储过程中使用它。如果您只对一个值感兴趣,它就简单到: DECLARE @resultVar nvarchar(50) -- or whatever SELECT @resultVar = Colname FROM tablename -- with appropriate filtering 如果需要从存储过程中获取此信息,则

我使用的是2008 R2,我想将“Select Colname from tablename”的输出设置为一个可验证的ie.@resultvar,这样我就可以在存储过程中使用它。

如果您只对一个值感兴趣,它就简单到:

DECLARE @resultVar    nvarchar(50)  -- or whatever
SELECT @resultVar = Colname FROM tablename -- with appropriate filtering
如果需要从存储过程中获取此信息,则需要查看输出参数:

CREATE procedure MyProcedure
    @resultVar    nvarchar(50)    OUTPUT
AS
    SELECT @resultVar = Colname FROM tablename -- with appropriate filtering
如果使用SQL来运行该过程,则可以使用:

EXEC MyProcedure @var OUTPUT
显然,如果您使用的是实体框架之类的框架,那么您需要使用该框架提供的任何东西;但是,这是一个完全不同的问题


请注意,如果从tablename返回多行,则只能从第一行获取值。如果比这更复杂,请展开原始问题。

您可以使用以下简单代码:

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

谢谢你们的帮助,但问题是@resultvar并没有得到查询结果。因此,请帮助我了解如何将查询结果获取到resultvar。我建议用示例数据和@resultvar所包含的内容展开问题。这样可以更容易地帮助您获得所需的答案。我想要设置存储过程变量=query的输出。我已经用一个示例更新了我的答案,在存储过程中使用了输出参数。