LISTSQL

#### Search Results

Search

# LISTSQL

Dieses Kommando ist bei Natural for DB2 verfügbar.

`LISTSQL` |  |  | object-name |  | [`ALL`] |
`<sa>`

Das Kommando `LISTSQL` listet diejenigen Natural-Statements im Quellcode eines Natural-Objekts auf, die in Verbindung mit einem Datenbankzugriff stehen, sowie die entsprechenden SQL-Kommandos, in die sie übersetzt wurden. Damit ist es möglich, den generierten SQLCODE zu sichten, bevor das Natural-Programm, welches auf eine SQL-Tabelle zugreift, ausgeführt wird.

Syntax-Element | Beschreibung
--- | ---
`object-name` `<sa>` | Wenn Sie einen gültigen Objektnamen angeben, muss das anzuzeigende Objekt in der Library gespeichert sein, in die Sie zurzeit eingeloggt sind. Wenn Sie keinen Objektnamen angeben oder wenn Sie `<sa>` (source area) angeben, bezieht sich `LISTSQL` auf das Objekt, das sich zurzeit im Natural-Quellcode-Bereich befindet. In jedem Fall benötigt `LISTSQL` ein katalogisiertes oder ein mit dem `STOW`-Kommando kompiliertes und gespeichertes Objekt.
`ALL` | Bei Angabe des Schlüsselworts `ALL` werden die generierten SQL-Statements des Objekts direkt nacheinander (ohne Blättern) angezeigt. Wenn Sie das Schlüsselwort weglassen, werden die im angegebenen Objekt enthaltenen generierten Statements jeweils einzeln auf einer Seite aufgeführt. Das Schlüsselwort `ALL` können Sie sowohl im Online- als auch im Batch-Modus angeben. Das Ausgabeformat ist in beiden Fällen gleich. Die Funktionen Error (PF2), Explain (PF4) bzw. Parms (PF6) stehen nicht zur Verfügung. Wenn Sie das Schlüsselwort `ALL` angeben, können Sie ein Fragezeichen (?) oder einen Stern (*) als Stellvertretersymbol benutze, zum Beispiel: `LISTSQL PGM* ALL`. Die Sonderzeichen `>` und `<` sind erlaubt, jedoch nur am Ende einer Zeichenkette; das bedeutet, dass z.B. die Angabe `ABC<DEF` ein ungültiger Ausdruck ist.

Beispiel-Bildschirm LISTSQL:

     14:50:23               ***** NATURAL TOOLS FOR SQL *****            2024-10-05
     Member DEM2SEL                   - LISTSQL -                  Library SYSDB243
     SQL Builder Version 4.30
     Natural statement  at line 0140                                 Stmt   1 / 1

       SELECT *
           INTO VIEW NAT-DEMO
           FROM NAT-DEMO

     Generated SQL statement   Mode : dynamic  DBRM :                Line   1 / 3
                               NDZ  : static       Prof : DEM2PROF
                                    Length  68
       SELECT  NAME, ADDRESS, DATEOFBIRTH, SALARY
       FROM    NAT.DEMO
       FOR FETCH ONLY

    Command ===>                                        Queryno for EXPLAIN 1____

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                Error Exit  Expl        Parms                   Prev  Next  Canc

Wenn ein statisches Database Request Module (DBRM) generiert wurde, dann wird sein Name im Feld DBRM des Bildschirms LISTSQL angezeigt. Andernfalls bleibt dieses Feld leer.

Wenn eine statische NDZ-Generierung durchgeführt wurde, wird `static` im Feld NDZ angezeigt und der SQLJ-Profilname wird nach dem Literal Prof angezeigt.

Wenn keine statische NDZ-Generierung durchgeführt wurde, werden die Felder NDZ und Prof nicht angezeigt.

Die folgenden spezifischen PF-Funktionstasten stehen zur Verfügung:

PF-Taste (Bezeichnung): | Funktion:
--- | ---
PF2 (Error) | Diese Taste dient zur Ausführung des Kommandos `SQLERR`. Wenn bei der `EXPLAIN`-Funktion ein Fehler auftritt, können Sie diese Taste drücken, um Informationen zu DB2-Fehler zu erhalten.
PF4 (Expl) | Diese Taste dient zur Ausführung des Kommandos `EXPLAIN` für das zurzeit aufgelistete SQL-Statement. Die Abfragenummer für das `EXPLAIN`-Kommando (im Feld Queryno for EXPLAIN) ist standardmäßig auf `1` gesetzt und kann überschrieben werden.
PF6 (Parms) | Mit dieser Taste kann ein weiterer Bildschirm aufgerufen werden, auf dem alle Parameter aus dem SQLDA für das zurzeit aufgelistete SQL-Statement angezeigt werden; siehe Beispiel-Bildschirm weiter unten.
PF10 (Prev), PF11 (Next) | Durch Drücken dieser Tasten können Sie innerhalb der aufgelisteten Ergebnisse zwischen den SQL-Statements hin- und herblättern.

Beispiel-Bildschirm mit Parametern:

     14:55:24               ***** NATURAL TOOLS FOR SQL *****            2024-10-05
     Member DEM2SEL                     LISTSQL                    Library SYSDB243
             NDZ  : static       Prof : DEM2PROF  Sequence : 00008 Sequence2 : 00000
             Mode : dynamic   DBRM :           Contoken :
                        (3rd/pre)
             static parms : (1st)
                            (2nd)
             SQLDA
                                       DBID : 250  FNR :   1  CMD : S1 0140 08
         Nr  Type     Length     CCSID
          1. CHAR             20       8001 0000 0014 01C4 0000 0000 0800 0000
          2. CHAR            100       8002 0000 0064 01C4 0000 0000 0800 0000
          3. CHAR             10       8003 0000 000A 01C4 0000 0000 0800 0000
          4. DECIMAL         6.2       8004 4000 0602 01E5 0000 0000 0800 0000

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                      Exit                                                  Canc

Im statischen Modus werden ausserdem noch statische Informationen angezeigt (statischer DBRM-Name, DB2-Konsistenzmerkmal (Contoken) und einige intern verwendete statische Parameter).

Wenn eine statische NDZ-Generierung durchgeführt wurde, wird `static` im Feld NDZ angezeigt. In den Feldern Sequence und Sequence2 wird die SQLJ-Sequenznummer des Statements und die Sequenznummer des sekundären Statements angezeigt, wenn die Option File Server für die statische Generierung angegeben wurde.

Wenn für das Programm keine statische NDZ-Generierung durchgeführt wurde, erscheinen die Felder NDZ, Prof und Sequence nicht auf dem Bildschirm

Falls die Informationen nicht auf den Parameter-Bildschirm passen, stehen Ihnen zum Navigieren folgende Tasten zur Verfügung:

PF-Taste (Bezeichnung): | Funktion:
--- | ---
PF6 (top,--), PF9 (bottom,++) | Direkter Sprung an den Anfang (--) bzw. and das Ende (++) der Liste.
PF8, PF7 (-) | Vorwärtsblättern (+) bzw. Zurückblättern (-).

#### Verwendung des Kommandos EXPLAIN

Wichtig
Vor Verwendung des DB2-Kommandos `EXPLAIN` siehe LISTSQL and Explain Functions im Abschnitt Installing Natural for DB2 on z/OS in der Installation for z/OS-Dokumentation.

Das `EXPLAIN`-Kommando liefert Informationen darüber, welche Strategie der DB2 Optimizer bezüglich der Ausführung von SQL-Statements gewählt hat. Damit das Kommando `EXPLAIN` ausgeführt werden kann, muss eine `PLAN_TABLE` vorhanden sein. In diese Tabelle werden die vom DB2 Optimizer bestimmten Informationen geschrieben. Die entsprechende Erläuterung wird aus der `PLAN_TABLE` ausgelesen und auf dem Bildschirm EXPLAIN Result angezeigt.

Beispiel-Bildschirm Explain Result:

     10:57:47               ***** NATURAL TOOLS FOR SQL *****            2024-10-05
     Queryno 1                      EXPLAIN Result                      Row  1 / 1

                          Estimated cost :   296.6  timerons

    Qblock  Plan Mixop Acc. Match Index Pre-  Column- Access-
        No    No   seq type  cols only  fetch fn_eval Creator.Name
    ------ ----- ----- ---- ----- ----- ----- ------- ----------------------------
         1     1       R                S

           Table-                            Tslock        -- sortn --  -- sortc --
     TabNo Creator.Name                      mode   Method uq jo or gr  uq jo or gr
    ------ --------------------------------  ------ ------ -- -- -- --  -- -- -- --
         1 NAT.DEMO                          IS            N  N  N  N   N  N  N  N

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                      Exit  Info        More   -     +                      Canc

Falls eine Erläuterung nich vollständig auf dem Bildschirm angezeigt werden kann, können Sie mit den Tasten PF7 (-) bzw. PF8 (+) rückwärt- bzw. vorwärts blättern.

Der Wert im Feld Estimated cost wird `SQLERRD (4)` in der `SQLCA` entnommen; es handelt sich um eine ungefähre Schätzung der benötigten Ressourcen.

Mit PF4 (Info) können die zusätzlichen, mit dem Kommando `EXPLAINB` gelieferten Informationen angezeigt werden.