-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhistory.sql
26 lines (26 loc) · 1.1 KB
/
history.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
set serveroutput on
set verify off
DECLARE
p_custID CUSTOMER.CustID%TYPE;
p_name CUSTOMER.name%TYPE;
BEGIN
p_custID := '&customer_id';
SELECT name INTO p_name FROM customer WHERE CustID = p_custID;
DBMS_OUTPUT.PUT_LINE('Donation history for ' || p_name || ':');
FOR rec IN (SELECT name, volume, blood_bank, date_of_donation, time_of_donation FROM donor WHERE id = p_custID AND name = p_name)
LOOP
DBMS_OUTPUT.PUT_LINE('Donated ' || rec.volume || ' ml of blood to ' || rec.blood_bank || ' on ' || rec.date_of_donation);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Receiving history for ' || p_name || ':');
FOR rec IN (SELECT name, volume, blood_bank, date_of_receiving, time_of_receiving FROM receiver WHERE id = p_custID AND name = p_name)
LOOP
DBMS_OUTPUT.PUT_LINE('Received ' || rec.volume || ' ml of blood from ' || rec.blood_bank || ' on ' || rec.date_of_receiving);
END LOOP;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(' User does not exist ');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(' Error ');
END;
/