添加数字并将其划分为存储过程

时间:2014-09-14 09:15:35

标签: sql sql-server stored-procedures

在下面的代码中,我必须添加4个值并除以另一个值。它抛出错误

  

必须声明标量变量

请帮我解决这个问题。

// Passing the values
@i_TransferQuantity float,
    @i_OnetimeCharge float,
    @i_LoadingCharge float,
    @i_UnLoadingCharge float,
    @i_FreightCharge float,
    @i_UnitPrice float

DECLARE @i_LoadingCharge, @i_UnLoadingCharge,
        @i_FreightCharge, @i_UnitPrice,
        @i_TotalUnitPrice, @i_TransferQuantity Float

SET @i_TotalUnitPrice = @i_LoadingCharge + @i_UnLoadingCharge +
                        @i_FreightCharge + @i_UnitPrice / @i_TransferQuantity

2 个答案:

答案 0 :(得分:1)

您正在重新声明存储过程中的相同变量,它们将保持未初始化状态,从而导致您获得错误。

答案 1 :(得分:0)

替换它:

// Passing the values
@i_TransferQuantity float,
    @i_OnetimeCharge float,
    @i_LoadingCharge float,
    @i_UnLoadingCharge float,
    @i_FreightCharge float,
    @i_UnitPrice float

DECLARE @i_LoadingCharge, @i_UnLoadingCharge,
        @i_FreightCharge, @i_UnitPrice,
        @i_TotalUnitPrice, @i_TransferQuantity Float

用这个:

DECLARE @i_LoadingCharge float, @i_UnLoadingCharge float,
        @i_FreightCharge float, @i_UnitPrice float,
        @i_TotalUnitPrice float, @i_TransferQuantity float

但是,您必须为传入的参数重新分配新名称,因为您不能重复使用相同的名称两次。