创建一个 PL/SQL 块来检索和显示在指定月份做出的所有承诺的数据。每个质押应显示一行输出。在每行输出中包括以下内容:
• 认捐ID、捐赠者ID和认捐金额
• 如果认捐是一次性支付的,则显示“Lump Sum”。
• 如果承诺按月支付,则显示“每月-#”(# 代表支付的月数)
• 列表应排序以首先显示所有一次性承诺。
这是表结构。
CREATE TABLE DD_Pledge (
idPledge number(5),
idDonor number(4),
Pledgedate DATE,
Pledgeamt number(8,2),
idProj number(5),
idStatus number(2),
Writeoff number(8,2),
paymonths number(3),
Campaign number(4),
Firstpledge char(1),
CONSTRAINT pledge_id_pk PRIMARY KEY(idPledge),
CONSTRAINT pledge_idDonor_fk FOREIGN KEY (idDonor)
REFERENCES dd_donor (idDonor),
CONSTRAINT pledge_idProj_fk FOREIGN KEY (idProj)
REFERENCES dd_project (idProj),
CONSTRAINT pledge_idStatus_fk FOREIGN KEY (idStatus)
REFERENCES dd_status (idStatus));
我尝试使用记录,但似乎记录不起作用,因为当指定月份有多个承诺时,它会给我错误。有没有办法使用记录来做到这一点(因为这是我们在覆盖记录后接受的任务)
也许光标将是一个不错的选择,但由于前面提到的一点,我想知道解决这个问题的方法是什么。