【问题标题】:Calculate interest on postgresql with trigger/function使用触发器/函数计算对 postgresql 的兴趣
【发布时间】:2011-07-03 15:02:04
【问题描述】:

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

我已经建立了一个带有正确表和函数的 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 的好学习资源?

编辑

我已经阅读了一些关于游标的内容。我应该使用光标在表格中走动吗?

我发现使用游标有点混乱,这里有人有一些解释清楚的例子吗?

【问题讨论】:

    标签: postgresql stored-procedures plpgsql banking


    【解决方案1】:

    manual 有一个关于循环和遍历查询结果的部分。还有用 pl/pgsql 编写的触发函数的例子。手册很全,是我所知道的最好的来源。

    【讨论】:

    • 我以前看过手册。它似乎是循环的一个很好的资源。但我也在考虑财务部分。这些计算在实际系统中是如何进行的?
    【解决方案2】:

    银行系统的利息计算方式多种多样。

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

    余额类型

    • 定期总结余
    • 每日总余额

    费率类型

    • Fixed Rate Dynamic Rate(根据余额)
    • 动态速率(根据条款)
    • 动态速率(根据计划)

    日期/时间表的类型

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

    年份公式

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

    结论

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

    【讨论】:

    • 优秀的答案。我用这个公式构建了一个函数,结果非常好。结果有点低效,因为我必须根据账户开始时的数据计算该期间每一天的账户余额。 (我知道,这很容易通过每笔交易的余额或类似的东西来解决)这是一个学校项目,我已经提交了。感谢您的澄清和出色的回答。
    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多