2017-05-15 2 views
0

Ich schrieb eine PL SQL-Prozedur in SQL Developer, die die Ergebnisse einer Select-Abfrage ausgibt. Die Ausgabe erscheint im Fenster 'Skriptausgabe'. Die Ausgabe erscheint jedoch nicht wie eine normale SQL-Abfrage in Rasterform. Ich möchte, dass die Ausgabe von PL SQL ein Bericht für andere Parteien ist. Momentan kopiere ich die Ausgabe und füge sie in eine Excel-Datei ein.Verschönerung PL SQL-Skript-Ausgabe

Gibt es eine Möglichkeit, die Skriptausgabe zu verschönern (visuell/Formatierung/Datei)? Ich denke über etwas in der Form des Gitters wie bei normalen Abfrageausgaben oder als blaue HTML-Tabellen nach, die im Abschnitt "Berichte" verfügbar sind.

Danke!

+1

warum nicht spulen die Ausgabe in eine CSV-Datei hinzufügen, so kann es in Excel geöffnet werden, wenn es das ist, was Sie wollen? –

+0

Spoole ich die Ausgabe. Die Daten sind da, aber es ist nicht so angenehm für die Augen, wie ich es möchte. Gibt es eine Möglichkeit, es aufzupeppen? Bei einer halbverwandten Notiz fehlen in der Ausgabe Feldheader. Wie kann ich Include-Feld-Header in der CSV-Datei hinzufügen? – machump

+0

Header hinzufügen, nur Option ist zu tun 'dbms_output.put_line ('Spalte header1' || ',' | '' Spaltenüberschrift 2 '...)' –

Antwort

0

Wie gesagt, müssen Sie nur einige Header

DECLARE 
    CURSOR emp_cur 
    IS 
     SELECT DATE v_dte, 
      CAST(
       CASE 
        WHEN SUBSTR(comm, LENGTH(comm), 1) = '-' 
        THEN Concat('-', SUBSTR(comm, 0, LENGTH(comm) - 1)) 
        ELSE SUBSTR(comm, 0, LENGTH(comm)) 
       END AS FLOAT)/100 comm 
     FROM myname.mytable; 
BEGIN 
    -- Add the first line of output as the header 
    dbms_output.put_line('Date' || ',' || 'Comm'); 
    FOR emp_rec IN emp_cur 
    LOOP 
     dbms_output.put_line(emp_rec.v_dte ||',' ||emp_rec.comm); 
    END LOOP; 
END; 
+0

Auch nicht nennen Sie Ihre Tabelle Feldnamen als Standard-Datentypen. –