表中有很多列,命名如下WK<NN>_SALES_FCST ,其中NN为数字,现在想写一个函数根据传入的参数返回对应列的值,请教大家帮忙给个解决办法,谢谢
CREATE FUNCTION Fun_Name(
@ItemNbr int,
@NN int
)
RETURNS int
AS
BEGIN
DECLARE @WeekSales int;
declare @sqlStr varchar(200);
select @sqlStr = 'select @WeekSales = WK'+@NN+'_SALES_FCST from Stg.SKU_WKLY_SALES_FC where MDS_FAM_ID='+@ItemNbr;
--问题出来了,这样写,在执行语句的时候会提示@WeekSales,@NN 变量未定义
exec(@sqlStr);
--如果把变量定义在上面的sql语句中,那后面返回值的时候又会提示变量未定义
        RETURN @WeekSales 
END
GO