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

时间:2015-05-22 12:26:46

标签: sql-server-2008 stored-procedures

我试图在商店程序下方获得退货表格,但这并没有给我价值 你可以在我的程序中说出我做错了什么。

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

感谢您的评论。

1 个答案:

答案 0 :(得分:1)

您只是分配变量。你没有真正选择任何东西 删除您对@Weight

的使用