Ich möchte via SQL*Plus den Output einer SQL-Abfrage „aufzeichnen“. Mit spool ist das ja kein Problem. Die Größe bzw. die Formatierung der Spalteninhalte in der Ausgabe ist allerdings ein Problem.
Die SQL-Abfrage läuft gegen eine Tabelle mit 49 Spalten. In den 49 Spalten habe ich insgesamt 4 Zeichendatentypen (VARCHAR, NUMBER, DATE und LONG).
Im Standard ist linesize in SQL*Plus auf den Wert 80 gesetzt. Ich habe die Linesize erhöht und bekomme das Ergebnis nun auch in einer Line je Hit angezeigt, allerdings stimmt der Spaltentitel nicht mit dem Wert überein. Wie bekomme ich Spaltentitel und Spalteninhalt auf einen Nenner? Die Spaltentitel möchte ich im Ergebnis angezeigt bekommen, sonst würde mir ja pagesize 0 weiterhelfen.
Wie bekomme ich Spaltentitel und Spalteninhalt auf einen Nenner?
dass der Spaltentitel exakt soviel Platz einnehmen soll wie der Spalteninhalt? Wenn dem so ist, müsstest du vorher wissen, wie groß der Inhalt der jeweiligen Spalte ist. Dann könntest du mit „SELECT RPAD(‚NameDerSpalte‘,’ ',x)… from dual“ in die Spooldatei schreiben. Ich würde allerdings eher über die Erstellung einer CSV-Datei nachdenken, falls möglich.
PS: Wie kann ich mir über SQL in einer Tabelle nur jene Spalte
anzeigen lassen die einen Eintrag haben?
Einfach in die existierende WHERE-Klausel ein „AND NameDerSpalte IS NOT NULL“.
PS: Wie kann ich mir über SQL in einer Tabelle nur jene Spalte
anzeigen lassen die einen Eintrag haben?
Einfach in die existierende WHERE-Klausel ein „AND
NameDerSpalte IS NOT NULL“.
Danke für Deine Hilfe. In meinem Fall habe ich ja 49 Spalten die ich alle in die WHERE-Klausel einbeziehen müsste, um das gewünschte Ergebnis zu erhalten. Geht das nicht eleganter?