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 |
---|---|
|
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
In jedem Fall benötigt |
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 Wenn Sie das Schlüsselwort |
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 |
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 (-). |
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.
Bei Natural SQL Gateway ist dieses Kommando nicht gültig.
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 |