2016-03-19 6 views
-3
FOR rec_c IN cus_cur LOOP 
DBMS_OUTPUT.PUT_LINE(TO_CHAR(rec_c.CNO)||' '||rec_c.person.name||' '||rec_c.person.address.street||' '||TO_CHAR(rec_c.person.address.zip)); 
FOR i IN 1..rec_c.person.phones.count loop 
DBMS_OUTPUT.put_LINE(rec_c.person.phones(i)); 
END LOOP; 
END LOOP; 

Die Grafik unten wird der Ausgang für den Code:Einstellen des Formats von PL/SQL-Ausgabe

enter image description here

Wie kann ich eine Ausgabe wie auf dem Bild unten zu verwalten?

enter image description here

+0

Sie können nicht den Text kopieren belästigt werden von einem Bild zu einem Beitrag für Leute, die ihre Freizeit damit verbringen, Ihre Frage zu beantworten. Sie reißen meine Kette –

+0

Verwenden Sie 'DBMS_OUTPUT.PUT()' (eher als 'DBMS_OUTPUT.PUT_LINE()') und wenn Sie das mit 'RPAD (Wert, Breite, '')' dann sollten Sie Ihre Antwort erhalten. – MT0

Antwort

0

Etwas wie:

FOR rec_c IN cus_cur LOOP 
    DBMS_OUTPUT.PUT(RPAD(rec_c.CNO,     6, ' ')); 
    DBMS_OUTPUT.PUT(RPAD(rec_c.person.name,   11, ' ')); 
    DBMS_OUTPUT.PUT(RPAD(rec_c.person.address.street, 14, ' ')); 
    DBMS_OUTPUT.PUT(RPAD(rec_c.person.address.zip,  7, ' ')); 

    IF rec_c.person.phones IS NOT EMPTY THEN 
    DBMS_OUTPUT.PUT_LINE(rec_c.person.phones(1)); 
    FOR i IN 2..rec_c.person.phones.count LOOP 
     DBMS_OUTPUT.PUT_LINE(RPAD(' ', 38, ' ')); 
     DBMS_OUTPUT.PUT_LINE(rec_c.person.phones(i)); 
    END LOOP; 
    ELSE 
    DBMS_OUTPUT.PUT_LINE(NULL); 
    END IF; 
END LOOP; 
0

vor über Block in sqlplus Ausführung gesetzt gerade die linesize bis 200 oder mehr, zB:

set linesize 200; 
set serveroutput on; 
Begin 
    -- Your code 
End; 
/
Verwandte Themen