Исходя из синтаксиса вопроса, я предполагаю, что вы используете SQL Server.
Вы можете назначить одиночное значение непосредственно в SELECT
:
select @balance = dbo.GetAvailBalAmt(acc, 0) / 100
from SMSCIF
where (dbo.GetAvailBalAmt(acc,0)/100) > 100;
Вы также можете использовать подзапрос с set
:
set @balance = (Select @balance = dbo.GetAvailBalAmt(acc, 0) / 100
from SMSCIF
where (dbo.GetAvailBalAmt(acc,0)/100) > 100
);
Однако нельзя присвоить несколько значений переменной. Вы можете создать временную таблицу или табличную переменную:
объявление таблицы @balances (баланс int); - или независимо от типа:
insert into @balances (balance)
select dbo.GetAvailBalAmt(acc, 0) / 100
from SMSCIF
where (dbo.GetAvailBalAmt(acc,0)/100) > 100;