Рассчитать проценты на postgresql с помощью триггера / функции - PullRequest
1 голос
/ 24 февраля 2011

Я сейчас работаю над простым банковским приложением.

Я создал базу данных postgresql с правильными таблицами и функциями.

Моя проблема в том, что я не уверен, как рассчитать процентную ставку по счетам. У меня есть функция, которая подскажет мне баланс по времени.

Если мы говорим, что у нас есть 1-месячный период, где я хочу рассчитать проценты по счету. Баланс выглядит так:

  February     Balance
  1.           $1000
  3.           $300
  10.          $700
  27.          $500

  Balance on end of month: $500

Мои первоначальные мысли - сделать цикл for с циклом от 1-го числа месяца до последнего дня месяца и добавлять проценты, заработанные за этот конкретный день подряд.

Функция, которую я хочу использовать в конце месяца, должна выглядеть примерно так: addInterest(startDate,endDate,accountNumber), которая должна вставить одну строку в таблицу, добавив заработанную ставку.

Может ли кто-нибудь привести меня на правильный путь или показать мне хорошие учебные ресурсы по PL / PGSQL?

Редактировать

Я немного читал о курсорах. Должен ли я использовать курсор, чтобы пройти через таблицу?

Мне немного неудобно использовать курсоры, кто-нибудь здесь с некоторыми хорошо объясненными примерами?

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Существуют различные способы начисления процентов в банковской системе.

Проценты = Баланс x Ставка x Дни / Год

Типы балансов

  • Периодический совокупный баланс
  • Ежедневный совокупный баланс

Типы курсов

  • Динамическая ставка с фиксированной ставкой (в зависимости от баланса)
  • Динамический курс (в соответствии с термином)
  • Динамическая скорость (по расписанию)

Типы дней / расписания

  • Обработка в конце дня (один день)
  • Обработка на конец месяца (один месяц)
  • Обработка в конце квартала (три месяца)
  • Конец половины обработки (шесть месяцев)
  • Обработка на конец года (один год)

Формула года

  • Год может состоять из 365 или 366 дней.
  • Ваш пользователь может захотеть переопределить количество дней в году, сохранить отдельное свойство переменной year в вашем приложении.

Заключение

Проценты должны рассчитываться как рутинное задание. Наилучшим подходом будет запуск по расписанию в зависимости от частоты настройки отдельных учетных записей.

0 голосов
/ 24 февраля 2011

В руководстве есть раздел о циклах и циклическом просмотре результатов запроса. Есть также примеры триггерных функций, написанных на pl / pgsql. Руководство очень полное, это лучший из известных мне источников.

...