declare @DMA1Var int
declare @PrevDMA1 decimal(29,12)
declare @DMA1 decimal(29,12)
-- changed the select statement
select @sql = N'select @PrevDMA1 = DMA1 from ' + quotename(@TableName) + N' where id = @PrevID '
-- added sp_executesql here
EXEC sp_executesql @sql, N'@PrevID int, @PrevDMA1 decimal(29,12) OUTPUT', @PrevID, @PrevDMA1 OUTPUT
select @sql = N'select @DMA1 = cast(((RawLastPrice - @PrevDMA1) * (2 / (@DMA1Var + 1)) + @PrevDMA1) as decimal(29,12)) from ' + quotename(@TableName)
select @params = N'@DMA1 decimal(29,12) OUTPUT, @NewID int, @DMA1Var int, @PrevDMA1 decimal(29,12) OUTPUT, @PrevID int'
EXEC sp_executesql @sql, @params, @DMA1 = @DMA1 OUTPUT, @NewID = @NewID, @DMA1Var = @DMA1Var, @PrevDMA1 = @PrevDMA1 OUTPUT,@PrevID = @PreviousID
Answer by Squirrel 1
↧
↧