AFAIK, вы не можете сделать это напрямую; что-то не так с чем-то вроде:
SET @Var = SELECT CASE @Counter WHEN 1 THEN @Num1 ELSE @Num2 END
Если у вас много значений, рассмотрите возможность использования #table
(временная таблица) или @table
(табличная переменная) - т.е.
DECLARE @Data TABLE ([Key] int NOT NULL, [Value] varchar(50))
затем просто INSERT
/ UPDATE
в @DATA
SELECT @Var = [Value] FROM @Data WHERE [Key] = @Counter