我的sql语句是这样的下面动态SQL语句来更新变量
DECLARE @OLD_NAV_VALUE AS INT
DECLARE @FINAL AS INT
SELECT @OLD_NAV_VALUE = [col1] from TBL_BA where DATE = @id_Date
SET @FINAL = @OLD_NAV_VALUE * 50
但我在这里巡航能力的问题是,它是作为[COL1]在select语句中的列名是动态值。所以我正在尝试如下所示。
DECLARE @OLD_NAV_VALUE AS INT
DECLARE @FINAL AS INT
EXEC('SELECT @OLD_NAV_VALUE = [' + @DYNAMIC_COL_NAME + '] from TBL_BA where DATE = ' + @id_Date)
SET @FINAL = @OLD_NAV_VALUE * 50
这给出了一个错误,即必须声明@OLD_NAV_VALUE。所以我试图在EXEC语句中声明@OLD_NAV_VALUE。但是,如果我这样做,我不能在EXEC声明外使用相同的内容。
请让我知道如何做到这一点。
以下是Tom H.希望您阅读的文章的链接。 http://www.sommarskog.se/dynamic_sql.html如果你使用动态sql,这是一篇必读文章。 – HLGEM 2009-02-11 14:54:42