指定した月に行われたすべての誓約のデータを取得して表示する PL/SQL ブロックを作成します。プレッジごとに 1 行の出力が表示されます。出力の各行に次を含めます。
• プレッジ ID、寄付者 ID、プレッジ額
• プレッジが一括払いの場合は、「Lump Sum」と表示します。
• 誓約金が月払いで支払われている場合は、「Monthly - #」と表示します (# は支払月数を表し
ます)。
これがテーブル構造です。
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));
レコードを使用しようとしましたが、指定した月に複数の誓約があるとエラーが発生するため、レコードが機能しないようです。レコードを使用してそれを行う方法はありますか (これは、レコードをカバーした後に割り当てられるためです)
カーソルが良い選択かもしれませんが、前述の点から、これを解決する方法を知りたいです。