Hi there!
I'm new to PL/SQL and I'm having difficulty formatting the data printed by the DBMS_OUTPUT.PUT_LINE command.
I'm using a procedure and the code is below:
CREATE OR REPLACE PROCEDURE "HEALTHDBA"."PATIENTS_DISEASES" IS
pid patients.patient_id%TYPE;
fname patients.first_name%TYPE;
lname patients.last_name%TYPE;
disease1 diseases.disease_name%TYPE;
disease2 diseases.disease_name%TYPE;
disease3 diseases.disease_name%TYPE;
disease4 diseases.disease_name%TYPE;
cursor c_patients is
select p.patient_id, p.first_name, p.last_name, d1.disease_name, d2.disease_name, d3.disease_name, d4.disease_name
from patients p
inner join diseases d1
on p.disease_1 = d1.disease_id
inner join diseases d2
on p.disease_2 = d2.disease_id
inner join diseases d3
on p.disease_3 = d3.disease_id
inner join diseases d4
on p.disease_4 = d4.disease_id;
BEGIN
DBMS_OUTPUT.PUT_LINE(rpad('PATIENT ID', 25) || rpad('FIRST NAME', 25) || rpad('LAST NAME', 25) || rpad('DISEASE1', 25) || rpad('DISEASE 2', 25) || rpad('DISEASE 3', 25) || rpad('DISEASE 4', 25));
open c_patients;
loop
fetch c_patients into pid, fname, lname, disease1, disease2, disease3, disease4;
DBMS_OUTPUT.PUT_LINE(rpad(pid, 25) || rpad(fname, 15) || rpad(lname, 15) || rpad(disease1, 15) || rpad(disease2, 15) || rpad(disease3, 15) || rpad(disease4, 15));
exit when c_patients%notfound;
end loop;
close c_patients;
END;
This is the output that i get :
Could someone please help me out and tell me what I'm doing wrong?
Thanks in advance!