Добавление другого столбца - неправильный путь, особенно для больших наборов результатов.Вы будете увеличивать данные по проводной сети, загрязняя каждую отдельную запись значением, которое должно быть одноразовым.
Тем не менее, я бы предложил дополнительный выходной параметр для вашей сохраненной записи.процедура:
@branchId int = null output
Затем установите его в логических блоках:
if x=y begin
set @branchId = 1
SELECT colX, colY
FROM TableA
end else begin
set @branchId = 2
SELECT colX,colY
FROM TableA
WHERE colX > 100
end
Это решение предотвращает изменения в ваших наборах результатов и, при условии, что вы всегда явно называете параметры процедуры, не долженне влияет на любой код.Кроме того, вы получаете дополнительное преимущество в виде меньшего количества данных по сети, чем опция добавить столбец .