必须在我的过程中声明标量变量

Must declare the scalar variable in my procedure

我试图在存储过程下面获取 return 表单,但这没有给我价值 你能说说我在我的程序中做错了什么吗?

ALTER PROCEDURE CALCWEIGHT1 
@EQUATION varchar(255),
@VOLUME decimal(10,2) 
AS
BEGIN
  declare @SQL varchar(max);
  declare @WEIGHT decimal(10,2); 
 IF(@EQUATION = '') or(@EQUATION is null)  
   BEGIN
         set @EQUATION =' SELECT @WEIGHT = (('+Convert(varchar(10),@VOLUME)+' / 1728.0 * 8.907 *100.0) / 100.0)'

   END
 else  
  BEGIN
        set @SQL='SELECT @EQUATION= REPLACE('''+@EQUATION+''', ''VOLUME'', '''+Convert(varchar(10),@VOLUME)+''')'      
        exec @SQL   

    set @EQUATION='SELECT @WEIGHT= '+@EQUATION+' ' 
 END 

 execute (@EQUATION) 

END

检查我是否使用这个值执行 EXEC CALCWEIGHT1 '',789

感谢您的评论。

您只是在分配变量。你真的 select 什么都没有。
删除您对 @Weight.

的使用