моего 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.
Пожалуйста, дайте мне знать, как это сделать.
Вот ссылка на статью Тома Х. хочет, чтобы вы прочитали. http://www.sommarskog.se/dynamic_sql.html Если вы используете динамический sql вообще, это обязательная статья. – HLGEM