使用触发器/函数计算postgresql的利息

使用触发器/函数计算postgresql的利息,postgresql,stored-procedures,plpgsql,banking,Postgresql,Stored Procedures,Plpgsql,Banking,我目前正在开发一个简单的银行应用程序 我已经建立了一个postgresql数据库,具有正确的表和函数 我的问题是,我不知道如何计算帐户的利率。我有一个函数,它会告诉我时间的平衡 如果我们说我们有一个1个月的期限,我想计算账户的利息。余额如下所示: February Balance 1. $1000 3. $300 10. $700 27. $500 Balance on end of m

我目前正在开发一个简单的银行应用程序

我已经建立了一个postgresql数据库,具有正确的表和函数

我的问题是,我不知道如何计算帐户的利率。我有一个函数,它会告诉我时间的平衡

如果我们说我们有一个1个月的期限,我想计算账户的利息。余额如下所示:

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

  Balance on end of month: $500
我最初的想法是做一个for循环,从本月的第一天循环到本月的最后一天,并将该天赚取的利息连续相加

我希望在月底使用的函数应该类似于
addInterest(startDate、endDate、accountNumber)
,它应该在表中插入一行,添加挣到的利率

有没有人能让我走上正轨,或者给我看一些关于PL/PGSQL的好的学习资源

编辑

我读了一些关于光标的书。我应该使用光标在表格中漫游吗


我发现使用游标有点让人困惑,这里有没有人有一些解释得很好的例子?

有一个关于循环和查询结果循环的部分。还有一些用pl/pgsql编写的触发器函数示例。这本手册非常完整,是我所知道的最好的资料来源。

银行系统中有各种计算利息的方法

利息=余额x利率x天数/年

余额类型

  • 定期总结余
  • 每日总结余
费率类型

  • 固定利率动态利率(根据余额)
  • 动态速率(根据术语)
  • 动态费率(根据时间表)
日期/日程类型

  • 日终处理(一天)
  • 月末处理(一个月)
  • 季度末处理(三个月)
  • 一半处理结束(六个月)
  • 年终处理(一年)
年份公式

  • 一年可以由365天或366天组成
  • 您的用户可能希望覆盖一年中的天数,在应用程序中维护一个单独的年份变量属性
结论


利息应作为一项例行任务计算。最好的方法是根据个人账户的频率设置按时间表运行。

我以前看过手册。这似乎是一个很好的循环资源。但我也在考虑财务方面的问题。这些计算是如何在实际系统中进行的?回答得很好。我用这个公式建立了一个函数,结果很好。结果有点低效,因为我必须根据账户开始时的数据计算该账户期间每天的余额。(我知道,这是一个很容易解决的问题,每笔交易都有一个平衡点或类似的东西)这是一个学校项目,我已经提交了。感谢您的澄清和出色的回答。