SQL Server存储过程:使用into变量设置

SQL Server存储过程:使用into变量设置,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,如何将结果从with query设置为变量 我有一个变量 declare @ResultVar float; 带着疑问 WITH CTE AS ( SELECT [Val]... ) SELECT SUM([Val]) FROM CTE 我不想使用SELECT,这是SQL Server存储过程的一部分。根据@marc_的评论: WITH CTE AS ( SELECT [Val]... ) SELECT @YourVar = SUM([

如何将结果从with query设置为变量

我有一个变量

declare @ResultVar float;
带着疑问

 WITH CTE AS
 (
        SELECT [Val]...
 ) 
 SELECT SUM([Val]) 
 FROM CTE
我不想使用
SELECT
,这是SQL Server存储过程的一部分。

根据@marc_的评论:

 WITH CTE AS
 (
        SELECT [Val]...
 ) 
 SELECT @YourVar = SUM([Val]) 
 FROM CTE
分配变量的
select
不会将行集返回给存储过程的调用者。试试看。

根据@marc_的评论:

 WITH CTE AS
 (
        SELECT [Val]...
 ) 
 SELECT @YourVar = SUM([Val]) 
 FROM CTE

分配变量的
select
不会将行集返回给存储过程的调用者。试试看。

只需使用
从CTE中选择@ResultVar=SUM(Val)
-这有什么错?这是sql过程我不想显示这个部分结果,没有任何方法可以避免,只需将这个结果复制到变量中即可?@marc_建议的方法将完全做到这一点,而不会显示任何结果。只需使用
选择@ResultVar=SUM(Val)从CTE
-这有什么不对??这是sql过程我不想显示这个部分结果,没有任何方法可以避免这一点,只是将这个结果复制到变量中?@marc_s建议的方法正好可以做到这一点,并且不显示任何结果。