мое 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], является динамическим значением. Поэтому я пытаюсь что-то вроде этого ниже.
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 должен быть объявлен. Поэтому я попытался объявить @OLD_NAV_VALUE внутри оператора EXEC. Но если я сделаю это, я не смогу использовать то же самое вне оператора EXEC.
Пожалуйста, дайте мне знать, как это сделать.