Использование sp_executesql
, но довольно громоздко. @ Taxdepn1 ... @ taxdepn4 должны быть переданы в качестве аргументов, и динамический sql может затем использовать их для выполнения оперативной оценки, возвращая значение, присвоенное выходному параметру:
while (@intFlag <= 4)
begin
declare @sql nvarchar(max);
set @sql = N'set @out = @in' + cast(@intFlag as nchar);
declare @xxx char(1);
exec sp_executesql @sql,
N'@in1 char(1), @in2 char(1), @in3 char(1), @in4 char(1), @out char(1) output',
@taxdepn1, @taxdepn2, @taxdepn3, @taxdepn4, @xxx output;
if @xxx is not null
begin
...
end
set @intFlag += 1;
end