LISTSQL

Dieses Kommando ist mit geringfügig abweichender Funktionalität bei Natural for DB2, Natural SQL Gateway und Natural for SQL/DS verfügbar. Die produktabhängigen Unterschiede sind in der folgenden Beschreibung entsprechend gekennzeichnet.

LISTSQL

object-name

[ALL]

<sa>

Das Kommando LISTSQL listet diejenigen Natural-Statements im Sourcecode 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-Source-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 *****            2009-12-04
 Member DEM2SEL                   - LISTSQL -                  Library SYSDB243
 SQL Builder Version 4.10                                                      
 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  
                                                                 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   

Falls ein statisches DBRM generiert wurde, dann wird sein Name im Feld DBRM des Bildschirms LISTSQL angezeigt; andernfalls bleibt dieses Feld leer. Ein statisches DBRM steht nur bei Natural for DB2 und Natural for SQL/DS zur Verfügung.

Die folgenden bildschirmspezifischen 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- bzw. SQL/DS-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.

Das Kommando EXPLAIN wird nur bei Natural for DB2 und Natural for SQL/DS unterstützt.

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 *****            2009-12-04
 Member DEM2SEL                     LISTSQL                    Library SYSDB243
                                                                               
         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- bzw. SQL/DS-Konsistenzmerkmal (Contoken) und einige intern verwendete statische Parameter).

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 bei Natural for DB2

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 *****            2009-12-03
 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.

Verwendung des Kommandos EXPLAIN bei Natural SQL Gateway

Bei Natural SQL Gateway ist dieses Kommando nicht gültig.

Verwendung des Kommandos EXPLAIN bei Natural for SQL/DS

Unter LISTSQL können Sie das SQL/DS-Kommando EXPLAIN benutzen, das Ihnen Informationen darüber liefert, welche Strategie der DB2 Optimizer bezüglich der Ausführung von SQL-Statements gewählt hat.

Natural führt das Kommando EXPLAIN für das auf dem LISTSQL-Bildschirm angezeigte SQL-Statement aus.

Die vom SQL/DS Optimizer bestimmten Informationen werden in Ihre PLAN_TABLE geschrieben. Natural liest die Tabelle und zeigt den Inhalt an.

Beispiel-Bildschirm EXPLAIN Result:

 10:22:07               ***** NATURAL TOOLS FOR SQL *****            2009-12-03
 Queryno 1                      EXPLAIN Result                      Row  1 / 1 
                                                                               
                      Estimated cost :     3.3  timerons                       
                                                                               
            Qblockno                  Table                                    
                  Planno Method Tabno creator     Tablename                    
              ---  ---   ------  ---  -------- ------------------              
              1    1             1    NAT      DEMO                            
                                                                               
                                                                               
                                                                               
                                                                               
           Access  Access                                                      
            type   creator      Accessname      sort_new sort_comp             
            ----   --------  ------------------ -------- ---------             
             R                                     N          N                
                                                                               
 


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