Chà, nó không đẹp, nhưng bạn có thể làm được:
if @loopcntr = 1
set var01 = 'somevalue'
else if @loopcntr = 2
set var02 = 'whatever'
else if . . .
Điều này sẽ đủ khó chịu để bạn có thể nghĩ đến các lựa chọn thay thế. Ồ, đây là một cái hay. Xác định một biến bảng và chỉ thêm các hàng cho mỗi giá trị:
declare @vars table (
id int identity(1, 1),
loopcntr int,
value varchar(255)
);
. . .
-- inside the loop
insert into @vars(loopcntr, value)
select @loopcntr, 'whatever';
Khi bạn muốn nhận một biến, bạn có thể thực hiện:
declare @var varchar(255);
select @var = value from @vars where loopcntr = <the one I want>;