我的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