pledgeamt9999900 recdonorpaymonths recdonorpaydate

Pledgeamt9999900 recdonorpaymonths recdonorpaydate

This preview shows page 6 - 9 out of 9 pages.

                rec_donor.paymonths || ' - ' ||                rec_donor.paydate || ' - ' ||        TO_CHAR(rec_donor.payamt,'$99,999.00'));    END IF;
Background image
  END LOOP;END;Assignment 4-11DECLARE  TYPE type_input1 IS RECORD (    type dd_donor.typecode%TYPE,    pamt dd_pledge.pledgeamt%TYPE);  TYPE type_input2 IS TABLE OF type_input1    INDEX BY PLS_INTEGER;  tbl_input2 type_input2;  CURSOR cur_pledges (p_type VARCHAR2, p_amt NUMBER ) IS    SELECT firstname || ' ' || lastname Name, pledgeamt      FROM dd_donor INNER JOIN dd_pledge        USING(iddonor)      WHERE typecode= p_type        AND pledgeamt > p_amt;BEGIN  tbl_input2(1).type := 'I';  tbl_input2(1).pamt := 250;  tbl_input2(2).type := 'B';  tbl_input2(2).pamt := 500;  FOR i IN 1..tbl_input2.COUNT LOOP    FOR rec_pledges IN cur_pledges(tbl_input2(i).type,      tbl_input2(i).pamt) LOOP    DBMS_OUTPUT.PUT_LINE(rec_pledges.name || ' - ' ||                         rec_pledges.pledgeamt);    END LOOP;  END LOOP;END;Assignment 4-12DECLARE  cv_pays SYS_REFCURSOR;  rec_pay dd_payment%ROWTYPE;  TYPE type_pay2 IS RECORD (pid dd_pledge.idpledge%TYPE,     amt NUMBER(9,2));  rec_pay2 type_pay2;  lv_ind_txt CHAR(1) := 'D';  lv_donor_num dd_donor.iddonor%TYPE := 308;BEGIN  IF lv_ind_txt = 'D' THEN     OPEN cv_pays FOR SELECT idpay, idpledge, payamt, paydate, paymethod       FROM dd_pledge INNER JOIN dd_payment        USING(idpledge)      WHERE iddonor = lv_donor_num      ORDER BY idpledge, paydate;    LOOP      FETCH cv_pays INTO rec_pay;      EXIT WHEN cv_pays%NOTFOUND;      DBMS_OUTPUT.PUT_LINE(rec_pay.idpay || ' - ' ||                            rec_pay.idpledge || ' - ' || 
Background image
                           rec_pay.payamt || ' - ' ||                           rec_pay.paydate || ' - ' ||                           rec_pay.paymethod );    END LOOP;  ELSIF lv_ind_txt = 'S' THEN    OPEN cv_pays FOR SELECT idpledge, SUM(payamt)       FROM dd_pledge INNER JOIN dd_payment        USING(idpledge)      WHERE iddonor = lv_donor_num      GROUP BY idpledge;    LOOP      FETCH cv_pays INTO rec_pay2;      EXIT WHEN cv_pays%NOTFOUND;      DBMS_OUTPUT.PUT_LINE(rec_pay2.pid || ' - ' ||                            rec_pay2.amt );    END LOOP;  END IF;END;Assignment 4-13BEGIN  UPDATE dd_donor    SET iddonor = 310    WHERE iddonor = 305;EXCEPTION  WHEN DUP_VAL_ON_INDEX THEN    DBMS_OUTPUT.PUT_LINE('This ID is already assigned.');END;OR
Background image
Image of page 9

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture