Как перебрать более одного значения оператора select и выполнить некоторые операции, используя эти значения в хранимой процедуре? - PullRequest
0 голосов
/ 31 августа 2011

У меня есть таблица SalaryHead, которая содержит около 10 глав зарплат, называемых Basic, PF, HRA, ESI, IncomeTax и так далее.Оператор select получает SalaryHeads Specific для конкретного сотрудника.

Теперь я хочу зациклить начисления зарплаты и выполнить расчеты. Основное значение оклада - это прямое значение, существующее в таблице. Из базового значения необходимо рассчитать другое начисление оклада. Например, HRA составляет 20% от базовогои PF составляет 10% от HRA, как эта одна зарплата рассчитывается на основе других зарплатных голов.

Теперь я хочу написать SP, который содержит вычисления для каждой зарплаты Head. Но когда я зацикливаю зарплатные головы, ограниченныеконкретный идентификатор сотрудника (который будет передан в качестве параметра).Эти начисления зарплаты должны быть рассчитаны и суммированы, чтобы получить общую сумму.

Каков наилучший способ сделать это с помощью хранимой процедуры?Внешнее кодирование не желательно.

1 Ответ

0 голосов
/ 31 августа 2011

Можете ли вы использовать цикл WHILE? По линии

WHILE (SELECT COUNT(*) FROM SalaryHead WHERE Total IS NULL AND EmployeeID = @EmpID) > 0
BEGIN

  /*Calculate Salary Head */

END
...