获取特定日期范围之间的确切数据量,并使用 varray 类型集合在 oracle plsql 过程中插入表

To get the exact amount of data between specific date range and insert in table in oracle plsql procedure using varray type collection

提问人:strawberry kitori 提问时间:10/26/2023 最后编辑:strawberry kitori 更新时间:10/26/2023 访问量:27

问:

“我需要修改现有的程序。我有一个 varray 类型的集合。需要将通过屏幕输入的数据插入到表ALLOWANCE_HIST。

该程序引用以下名为 ALLOWANCE AND FEE_DETAILS 的表。

ALLOWANCE - ALIAS (A)

MONTHLY_ALLOWANCE  NUMBER
START_DATE DATE
END_DATE   DATE
PERSON_ID  NUMBER

FEE_DETAILS - ALIAS (B)

PERSON_ID  NUMBER
PERCENTAGE NUMBER
START_DATE DATE
END_DATE   DATE 

「透过屏幕,person_id会输入申请津贴的具体日期/期限,每月固定津贴为10,000/月。现在,还有另一个屏幕,它保存着表 FEE_DETAILS 中的数据。每当有 B.百分比(例如 50%)时,应仅在 B.start_date 到 B.end_date 之间扣除 A.津贴。

当person_id在 2023 年 10 月 1 日至 2023 年 12 月 31 日期间申请津贴补贴,然后在 2023 年 11 月 1 日至 2023 年 12 月 31 日期间扣除 B.百分比(例如 50%)。 目前,这是我得到的/输出(不正确)

电流(输出)

A.START_DATE A.END_DATE  A.MONTHLY_ALLOWANCE COMPUTED_ALLOWANCE
01-OCT-2023  31-OCT-2023       10000               5000  
01-NOV-2023  30-NOV-2023       10000               5000
01-DEC-2023  31-DEC-2023       10000               5000        

2023 年 10 月不应有百分比扣除,只有 2023 年 11 月至 2023 年 12 月。

我需要将这种输出插入到另一个名为 ALLOWANCE_HIST 的表中,该表也显示在屏幕上。

预期(输出)

A.START_DATE A.END_DATE  A.MONTHLY_ALLOWANCE COMPUTED_ALLOWANCE
01-OCT-2023  31-OCT-2023       10000               10000  
01-NOV-2023  30-NOV-2023       10000               5000
01-DEC-2023  31-DEC-2023       10000               5000        

`

ALLOWANCE_HIST - ALIAS (C)

START_DATE DATE
END_DATE DATE
MONTHLY_ALLOWANCE
COMPUTED_ALLOWANCE
PLSQL 集合 SQL-INSERT 过程 VARRAY

评论

0赞 Ana GH 10/27/2023
那么,你试过什么不起作用?你没有把你的代码段放进去,这段代码不起作用

答: 暂无答案