Sql server 如何将sql查询的输出设置为可验证的in存储过程
我使用的是2008 R2,我想将“Select Colname from tablename”的输出设置为一个可验证的ie.@resultvar,这样我就可以在存储过程中使用它。如果您只对一个值感兴趣,它就简单到: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 如果需要从存储过程中获取此信息,则
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的输出。我已经用一个示例更新了我的答案,在存储过程中使用了输出参数。