【发布时间】:2020-07-01 14:45:49
【问题描述】:
我想在 Oracle PL/SQL 中创建一个允许基于参数分析现金流的过程。
create table cfl_param (
contract_type varchar2(20),
new_cfl_month number,
cfl_percentage number
);
create table cfl_table (
contract_id varchar2(20),
contract_type varchar2(20),
cfl_analyze varchar2(20),
cfl_date date,
cfl_value number
);
insert into cfl_param values
('A', 6, 0.4);
insert into cfl_param values
('A', 9, 0.3);
insert into cfl_table values
('A_1', 'A', 'N', date '2020-07-31', 1000);
表cfl_param 包含每个合同类型的参数,例如新现金流日期和新现金流百分比。在我的示例中,contract_type A 有两个日期的新现金流,第一个是 6 个月内(cfl_value 的 40%),第二个是 9 个月内(cfl_value 的 30%)。
表'cfl_table'有关于现金流的数据,最初每个contract_id在cfl_analyze列中都有值'N'。
对于值为“A”的contract_type,该过程必须插入3 个新行:2 个具有新日期和cfl_value 的30% 和40%,另一个具有30% 的值但原来是cfl_date。我想获得类似的东西:
【问题讨论】:
-
你真的想要一个过程来做这件事,甚至是PL/SQL——它可以用普通的SQL来完成吗?您将向该程序传递什么参数?当前日期的 30% 也是固定的;如果是这样,那应该是
cfl_parms中的另一个 wo(第 0 个月,百分比 0.3)? -
程序只是一个选项,什么更合适?