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

标签 postgresql stored-procedures plpgsql banking

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

我已经构建了一个 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 的良好学习资源?

编辑

我一直在阅读有关游标的内容。我应该使用光标浏览表格吗?

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

最佳答案

银行系统有多种计息方式。

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

余额类型

  • 定期总余额
  • 每日结余

费率类型

  • 固定利率动态利率(根据余额)
  • 动态费率(根据期限)
  • 动态费率(根据时间表)

日期类型/日程安排

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

年份公式

  • 一年可能有 365 或 366 天。
  • 您的用户可能想要覆盖一年中的天数,在您的应用程序中维护一个单独的年份变量属性。

结论

计算利息应该是例行工作。最好的方法是根据各个帐户的频率设置按计划运行。

关于postgresql - 使用触发器/函数计算 postgresql 上的利息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5106062/

相关文章:

sql - 这里最佳的 JOIN 方法是什么?

javascript - Sequelize 如何在单个表中选择子项的子项?

c# - 从 C# 调用 Oracle 存储过程?

sql-server - 存储过程是否能够从操作系统中删除文件?

sql - 向 PostgreSQL 数据库的所有模式中的表添加一列

c# - 如何在 C# 中返回 postgresql 函数的结果?控制台输出为空

function - PostgreSQL UPSERT 触发器返回 id

sql - 用于传输表数据的 psql COPY 命令是否正确?

sql - PostgreSQL 唯一索引复合键

php - 存储过程与 mysql 一起工作,但 php 出现错误