Interaktives SQL

#### Search Results

Search

# Interaktives SQL

Mit der Funktion Interactive SQL der Natural Tools for Db2 können Sie SQL-Statements dynamisch ausführen.

- Funktion Interactive SQL aufrufen

- SQL Input Members

- Data Output Members

- SQL-Statements verarbeiten

- PF-Tastenbelegungen

- Interaktive SQL-Ergebnisse entladen

## Funktion Interactive SQL aufrufen

Um die Funktion Interaktives SQL aufzurufen:

- Geben Sie im Menü Natural Tools for DB2 Main Menu den Funktionscode `I` ein.

  Der Bildschirm Interactive SQL wird angezeigt:

        16:21:04              ***** NATURAL TOOLS FOR DB2 *****            2009-10-30
                                       - Interactive SQL -

                                Code   Function
                                ----   -------------------------
                                  I    SQL Input Member
                                  O    Data Output Member
                                  ?    Help
                                  .    Exit
                                ----   -------------------------
                           Code.. _    Library .. SAG_____
                                       Member ... ________

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

  Die folgenden Funktionen sind verfügbar:

  Code | Beschreibung
  --- | ---
  `I` | Zeigt SQL-Member (Textobjekte) auf dem Interactive SQL-Eingabebildschirm an.
  `O` | Zeigt Ausgabe-Member (Textobjekte) auf dem Interactive SQL-Ausgabebildschirm an.

  Die folgenden Parameter können angegeben werden:

  Parameter | Beschreibung
  --- | ---
  `Library` | Gibt den Namen der aktuellen Natural Library an, die die angegebenen Eingabe-/Ausgabe-Members (Textobjekte) enthält. Die Angabe von Libraries, deren Namen mit SYS beginnen, ist nicht zulässig. Der Library-Name ist mit Ihrer Natural-Benutzerkennung voreingestellt.
  `Member` | Wenn ein gültiger Member-Name angegeben ist, wird das entsprechende Member angezeigt. Wird ein Wert gefolgt von einem Stern (*) angegeben, werden alle Ein-/Ausgabe-Member in der aktuellen Library aufgelistet, deren Namen mit diesem Wert beginnen. Wird nur die Stern-Notation angegeben, wird eine Auswahlliste aller Ein-/Ausgabe-Member angezeigt. Wird das Feld Member leer gelassen, wird der leere SQL-Ein-/Ausgabebildschirm angezeigt.

## SQL Input Members

Um die Funktion SQL Input Member aufzurufen:

1. Geben Sie auf dem Bildschirm Interactive SQL den Funktionscode `I` ein und drücken Sie Enter.

   Je nachdem, welchen Member-Namen (Textobjekt-Namen) Sie angegeben haben, werden unterschiedliche Bildschirme angezeigt.

   Diese Bildschirme werden in den folgenden Abschnitten erläutert.

### ISQL Input-Bildschirm

Wenn Sie das Feld Member leer lassen, wird der leere Bildschirm ISQL - Input aufgerufen:

      16:21:56              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Input        SAG                   S 01- ---------------Columns 001 072
       ====>                                                        Scroll ===>  PAGE
       ***** ****************************** top of data *****************************
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       '''''
       ***** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Setup Exit  Exec  Rfind Rchan -     +     Outpu             Canc

Der ISQL - Input-Bildschirm ist ein Free Mode-Editor (siehe Mit den Natural Tools for Db2 editieren), der eine ähnliche Funktionalität wie der Software AG Editor bietet. Mit dem Editor können Sie SQL-Statements über Editor-Hauptkommandos und -Zeilenkommandos eingeben oder bearbeiten. Sie können die SQL-Statements sofort aus dem Editor heraus ausführen, indem Sie PF4 (Exec) drücken, oder Sie können sie als SQL-Member (Textobjekt) in einer Natural Library für eine spätere Ausführung speichern.

Informationen zu den verfügbaren PF-Tasten finden Sie unter PF-Tastenbelegungen.

Anmerkung
Das `PRINT`-Kommando ist auf dem ISQL - Input-Bildschirm nicht verfügbar.

Neben den Haupt- und Zeilenkommandos des Editors stehen auch SQLCODE- Verwaltungskommandos zur Verfügung, um SQL-Member in einer Natural Library zu pflegen; siehe Globale Verwaltungskommandos. Mit diesen Verwaltungskommandos können Input-Member aufgelistet, abgerufen, in einer Natural Library gespeichert, kopiert und gelöscht werden. Sie werden in der Kommandozeile des Bildschirms eingegeben.

Eine Liste der verfügbaren Verwaltungskommandos erhalten Sie auch, wenn Sie das Hilfezeichen, d.h. ein Fragezeichen (`?`), in die Kommandozeile des Bildschirms eingeben. Es wird ein Fenster angezeigt, in dem das gewünschte Kommando ausgewählt werden kann. Der Inhalt des Fensters kann durch Drücken von PF8 vorwärts oder durch Drücken von PF7 rückwärts durchblättert werden.

      12:22:12              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Input        SAG                  S 01- ---------------Columns 001 072
       ====> ?                                                      Scroll ===>  PAGE
       ***** ********************** +----------------------------------+*************
                                    !                                  !
                                    !   _  List <*,member>             !
                                    !   _  READ <member>               !
                                    !   _  SAVE <member>               !
                                    !   _  COPY <member>               !
                                    !   _  Purge <member>              !
                                    !   _  LIBrary <library>           !
                                    !   _  SELect <TB,CO> name1 name2  !
                                    !                                  !
                                    +----------------------------------+

       ***** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Setup Exit  Exec  Rfind Rchan -     +     Outpu             Canc

Um Sie bei der Programmierung Ihres SQL-Members zu unterstützen, können vorhandene Db2-Tabellen und Spalten mit dem `SELECT`-Kommando aufgelistet werden. Von dieser Liste aus können Sie Tabellen- und Spaltennamen in den Editor einfügen.

Das `SELECT`-Kommando ist für die Auswahl von Tabellen und Spalten verfügbar:

Kommando | Beschreibung
--- | ---
`SELECT` `TABLE` `[creator.]name` | Wählt alle Tabellen mit dem angegebenen Ersteller (optional) und Namen aus. Sowohl für `creator` (Ersteller) als auch für `name` können Sie einen Wert, gefolgt von einem Stern (*), angeben. Dann werden alle Tabellen, deren Namen mit diesem Wert beginnen, ausgewählt. . Wenn Sie nur Stern-Notation angeben, werden alle vorhandenen Tabellen ausgewählt. Wenn Sie einen Tabellennamen ohne Ersteller angeben, werden alle Tabellen mit dem angegebenen Namen ausgewählt, unabhängig von ihrem Ersteller.
`SELECT` `COLUMN` `creator.name` | Selektiert alle Spalten der Tabelle `creator.name`. Da die Tabelle eindeutig identifiziert werden muss, kann keine Stern-Notation verwendet werden.

#### Beispiel eines Eingabebildschirms mit Fenster für die Tabellenauflistung

    12: +------------------------------------------------------------------------+
     ISQ ! Tab:                                                                   !
    ==== ! SYSIBM.*                                                               !
     *** !   Table Name                       Creator                             !
     ''' ! _ SYSDATABASE                      SYSIBM                              !
     ''' ! _ SYSDATATYPES                     SYSIBM                              !
     ''' ! _ SYSDBAUTH                        SYSIBM                              !
     ''' ! _ SYSDBRM                          SYSIBM                              !
     ''' ! _ SYSDUMMY1                        SYSIBM                              !
     ''' ! _ SYSDUMMYA                        SYSIBM                              !
     ''' ! _ SYSDUMMYE                        SYSIBM                              !
     ''' ! _ SYSDUMMYU                        SYSIBM                              !
     ''' ! _ SYSFIELDS                        SYSIBM                              !
     ''' ! _ SYSFOREIGNKEYS                   SYSIBM                              !
     ''' ! _ SYSINDEXES                       SYSIBM                              !
     ''' ! _ SYSINDEXES_HIST                  SYSIBM                              !
     ''' ! _ SYSINDEXPART                     SYSIBM                              !
     ''' ! _ SYSINDEXPART_HIST                SYSIBM                              !
     ''' ! _ SYSINDEXSTATS                    SYSIBM                              !
     ''' ! _ SYSINDEXSTATS_HIST               SYSIBM                              !
     *** ! _ SYSJARCLASS_SOURCE               SYSIBM                              !
         ! _ SYSJARCONTENTS                   SYSIBM                              !
    Ente !                                                                        !
         +------------------------------------------------------------------------+

In der Tabellenübersicht können Sie eine Tabelle zur Anzeige ihrer Spalten auswählen, indem Sie sie mit `C` vor dem Tabellennamen markieren. Die Spalten einer Tabelle werden zusammen mit ihrem Typ und ihrer Länge aufgelistet. Ein Ersteller- oder Tabellenname, der länger als 32 Zeichen ist, wird abgeschnitten. Dies wird durch ein `>` Symbol am Ende des Ersteller- oder Tabellennamens angezeigt.

#### Beispiel eines Eingabebildschirms mit einem Fenster zur Spaltenauflistung

     12:27:08              ** +---------------------------------------------------+
     ISQL - Input         GGS ! Tab: SYSIBM.SYSTABLES                             !
    =====>                    !                                                   !
     ***** ****************** !   Column Name                       Type     Len  !
     A     SELECT             ! M NAME                              VARCHAR  128  !
     00002 SYSIBM.SYSTABLES   ! M CREATOR                           VARCHAR  128  !
     ***** ****************** ! M TYPE                              CHAR     1    !
                              ! M DBNAME                            VARCHAR  24   !
                              ! M TSNAME                            VARCHAR  24   !
                              ! _ DBID                              SMALLINT 2    !
                              ! _ OBID                              SMALLINT 2    !
                              ! _ COLCOUNT                          SMALLINT 2    !
                              ! _ EDPROC                            VARCHAR  24   !
                              ! _ VALPROC                           VARCHAR  24   !
                              ! _ CLUSTERTYPE                       CHAR     1    !
                              ! _ CLUSTERRID                        INTEGER  4    !
                              ! _ CARD                              INTEGER  4    !
                              ! _ NPAGES                            INTEGER  4    !
                              ! _ PCTPAGES                          SMALLINT 2    !
                              ! _ IBMREQD                           CHAR     1    !
                              ! _ REMARKS                           VARCHAR  762  !
                              ! _ PARENTS                           SMALLINT 2    !
    Enter-PF1---PF2---PF3---P !                                                   !
          Help  Setup Exit  E +---------------------------------------------------+

Wenn Sie Tabellen- oder Spaltennamen aus einer Auswahlliste in den Editor übernehmen wollen, markieren Sie die entsprechende Tabelle oder Spalte mit `M`, wie auf dem vorherigen Bildschirm gezeigt. Die Tabellen- bzw. Spaltennamen werden entweder nach oder vor die mit `A` bzw. `B` markierte Zeile oder an den Anfang der angezeigten Daten kopiert.

#### Beispiel eines Eingabebildschirms mit kopierten Spaltennamen

     12:29:44              ** +---------------------------------------------------+
     ISQL - Input         GGS ! Tab: SYSIBM.SYSTABLES                             !
    =====>                    !                                                   !
     ***** ****************** !   Column Name                       Type     Len  !
     A     SELECT             ! _ NAME                              VARCHAR  128  !
     00002 NAME               ! _ CREATOR                           VARCHAR  128  !
     00003 , CREATOR          ! _ TYPE                              CHAR     1    !
     00004 , TYPE             ! _ DBNAME                            VARCHAR  24   !
     00005 , DBNAME           ! _ TSNAME                            VARCHAR  24   !
     00006 , TSNAME           ! _ DBID                              SMALLINT 2    !
     00007 SYSIBM.SYSTABLES   ! _ OBID                              SMALLINT 2    !
     ***** ****************** ! _ COLCOUNT                          SMALLINT 2    !
                              ! _ EDPROC                            VARCHAR  24   !
                              ! _ VALPROC                           VARCHAR  24   !
                              ! _ CLUSTERTYPE                       CHAR     1    !
                              ! _ CLUSTERRID                        INTEGER  4    !
                              ! _ CARD                              INTEGER  4    !
                              ! _ NPAGES                            INTEGER  4    !
                              ! _ PCTPAGES                          SMALLINT 2    !
                              ! _ IBMREQD                           CHAR     1    !
                              ! _ REMARKS                           VARCHAR  762  !
                              ! _ PARENTS                           SMALLINT 2    !
    Enter-PF1---PF2---PF3---P !                                                   !
          Help  Setup Exit  E +---------------------------------------------------+

### Fixed Mode mit Interaktivem SQL

Alle Fixed Mode-Eingabebildschirme aus dem Catalog Maintenance-Teil der Natural Tools for DB2 sind als Hilfemasken im Interactive SQL-Teil verfügbar.

Um diese Hilfe aufzurufen, geben Sie in der Kommandozeile Ihres ISQL - Input-Bildschirms den Namen des gewünschten SQL-Statements ein, z.B. `CREATE TABLE` oder `CR TB` für das Kommando `CREATE TABLE`.

Es gelten die gleichen Kommandoabkürzungen wie bei der Funktion Catalog Maintenance.

Wenn Sie `CREATE TABLE` oder `CR TB` eingeben, wird der Bildschirm Create Table aufgerufen:

       01:22:12              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
                                     - Create Table -                        1  / 9

      >>- CREATE TABLE - SAG_____ . DEMOTABLE_________ ----------------------------->
                          <creator.>table-name
      >+--- LIKE ------- ________ . __________________ +-------------------------+-+>
       !                  <creator.>table/view-name    +- _ - INCLUDING IDENTITY + +
       !                                                                           !
       +( COL1______________  CHAR___________ ( 20________ ) _ - __ - _ - __ - _ , +
       +- COL2______________  INTEGER________ ( __________ ) _ - NN - _ - 2_ - _ , +
       +- COL3______________  SMALLINT_______ ( __________ ) _ - NN - _ - 1_ - _ , +
       +- COL4______________  CHAR___________ ( 2_________ ) S - __ - _ - __ - _ , +
       +- COL5______________  VARCHAR________ ( 30________ ) _ - NN - _ - 3_ - _ , +
       +- COL6______________  DECIMAL________ ( 2,5_______ ) _ - __ - X - __ - _ , +
       +- COL7______________  FLOAT__________ ( __________ ) _ - NN - _ - __ - _ , +
       +- COL8______________  DATE___________ ( __________ ) _ - __ - _ - __ - _ , +
       +- COL9______________  TIME___________ ( __________ ) _ - __ - _ - __ - _ , +
       +- __________________  _______________ ( __________ ) _ - __ - _ - __ - _ , +
             column-name          format          length    S/M  NN  fld  PK/ R/C
                                                             B       proc UK  D/G
     Command ===>
     Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
           Help  Error Exit  Exec  Free  --     -     +    ++          Next  Canc

Wenn Sie Daten für ein vollständiges SQL-Statement eingegeben haben, können Sie aus den eingegebenen Daten ein SQL-Statement generieren und in den ISQL - Input-Bildschirm einfügen.

Using PF4 (Incl), you include the generated SQLCODE and remain on the Create Table screen.

Mit PF4 (Incl) binden Sie den generierten SQLCODE ein. Sie bleiben auf dem Bildschirm Create Table.

Mit PF5 (IBack) binden Sie den generierten SQLCODE ein und kehren zum Bildschirm ISQL - Input zurück.

### Ein SQL-Member abrufen

Wenn Sie im Feld Member des Bildschirms Interactive SQL einen eindeutigen Member-Namen (Textobjekt) angeben, wird das entsprechende SQL-Member auf dem Eingabebildschirm gelistet (angezeigt). Wenn kein Member mit dem angegebenen Namen existiert, wird eine entsprechende Meldung ausgegeben.

#### Beispiel für die Anzeige eines SQL-Member auf dem Eingabebildschirm

      01:03:23              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Input        SAG(TESTSEQ)          S 01- ---------------Columns 001 072
       ====>                                                        Scroll ===>  PAGE
       ***** ****************************** top of data *****************************
       00001 CREATE TABLE DEMOTABLE
       00002   (COL1                 CHAR(8),
       00003    COL2                 INTEGER
       00004   ) IN DATABASE DEMO;
       00005 INSERT INTO DEMOTABLE
       00006   VALUES ('AAAAA',1);
       00007 * INSERT INTO DEMOTABLE
       00008 *   VALUES ('BBBBB',2);
       00009 SELECT FROM DEMOTABLE;
       00010 DROP TABLE DEMOTABLE;
       ***** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Setup Exit  Exec  Rfind Rchan -     +     Outpu             Canc

Gelistete SQL-Member können gelöscht, geändert, ausgeführt oder gespeichert werden.

Ein Stern (*) vor einer Statement-Zeile macht diese Zeile zu einer Kommentarzeile, was bedeutet, dass der entsprechende SQLCODE bei der Ausführung nicht berücksichtigt wird.

### Liste der SQL-Member

Wenn Sie im Feld Member des Bildschirms Interactive SQL einen Wert gefolgt von einem Stern (*) angeben, wird eine Liste aller SQL-Eingabe-Member (Textobjekte) in der aktuellen Library angezeigt, deren Name mit diesem Wert beginnt.

Wenn Sie einen Stern (*) angeben, wird eine Liste aller SQL-Eingabe-Member in der aktuellen Library angezeigt.

#### Beispiel einer Auswahlliste für SQL-Eingabe-Member

     15:06:14              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
                                     Select Member

           C      Member      Type         User        Date        Time
           -      --------    -----------  --------    ----------  --------
           _      CRAXTB      SQL          SAG         2009-10-30  13:48:53
           _      CRDITY      SQL          SAG         2009-10-30  13:39:14
           _      CRPRQE      SQL          SAG         2009-10-30  13:54:21
           _      CRTB        SQL          SAG         2009-10-30  13:48:14
           _      CRTRIG      SQL          SAG         2009-10-30  13:53:01
           _      CRTRIG2     SQL          SAG         2009-10-30  13:14:10
           _      DRPRQE      SQL          SAG         2009-10-30  13:55:04
           _      DRPRQE2     SQL          SAG         2009-10-30  13:50:30
           _      GGSDTYPE    SQL          SAG         2009-10-30  13:52:10
           _      GRSHPR      SQL          SAG         2009-10-30  13:28:01
           _      RESHPR      SQL          SAG         2009-10-30  13:31:05
           _      SELPROCS    SQL          SAG         2009-10-30  13:09:05
           _      SELTABS     SQL          SAG         2009-10-30  13:56:22

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

Aus der Auswahlliste des Eingabebildschirms können Sie SQL-Member zur Anzeige auswählen, indem Sie sie mit einem `S` markieren.

Wenn die Liste durch ein `PURGE`-Kommando aufgerufen wurde, können die Member gelöscht werden, indem sie mit einem `P` markiert werden.

Durch Drücken von PF11 (>) können Sie von der Standardansicht des Bildschirms Select Member, wie oben gezeigt, zur erweiterten Ansicht wechseln, in der die erste Zeile jedes Member in der Spalte Description angezeigt wird:

     15:09:17              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
                                     Select Member

           C      Member      Description (first line of member)
           -      --------    -----------------------------------------------------
           _      CRAXTB      CREATE AUXILIARY TABLE aux-table-name
           _      CRDITY      CREATE DISTINCT TYPE distinct-type-name
           _      CRPRQE      * ALL PROCEDURES FROM QARNDB31(10,110), WHICH HAVE 'C
           _      CRTB        CREATE TABLE NEWTYPE
           _      CRTRIG      CREATE TRIGGER trigger-name NO CASCADE BEFORE|
           _      CRTRIG2     CREATE TRIGGER trigger-name (NO CASCADE BEFORE|
           _      DRPRQE      * ALL PROCEDURES FROM QARNDB31(10,110), WHICH HAVE 'C
           _      DRPRQE2     DROP PROCEDURE CALLN2 RESTRICT;
           _      GGSDTYPE    SELECT COLTYPE,LENGTH,LENGTH2,DATATYPEID,SOURCETYPEID
           _      GRSHPR      GRANT ALTERIN [, CREATEIN] [, DROPIN]
           _      RESHPR      REVOKE ALTERIN [, CREATEIN] [, DROPIN]
           _      SELPROCS    SELECT * FROM SYSIBM.SYSPROCEDURES
           _      SELTABS     SELECT * FROM SYSIBM.SYSTABLES

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

Die erste Zeile eines Member kann die erste Zeile einer SQL-Statements oder eine Kommentarzeile sein, die weitere Informationen über das Member enthält.

## Data Output Members

Um die Funktion Data Output Member aufzurufen:

- Geben Sie auf dem Bildschirm Interactive SQL den Funktionscode `O` ein und drücken Sie Enter.

  Je nachdem, welchen Member-Namen (Textobjekt) Sie angegeben haben, werden unterschiedliche Bildschirme angezeigt

  Diese Bildschirme werden in den folgenden Abschnitten erläutert.

### Bildschirm für die Datenausgabe

Wenn Sie das Feld Member auf dem Bildschirm Interactive SQL leer lassen, wird der leere Bildschirm ISQL - Output aufgerufen.

      15:19:15              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Output       SAG                   S 02- ---------------Columns 001 072
       ====>                                                        Scroll ===>  PAGE
       ***** ****************************** top of data *****************************
       ***** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help        Exit        Rfind Rchan -     +            <     >    Canc

Vom Bildschirm für die Datenausgabe aus haben Sie nur Zugriff auf die Ausgabedaten-Member. Bei den Ausgabedaten handelt es sich um Daten, die als Ergebnis von ausgeführten SQL-Statements aus der Datenbank abgerufen werden. Diese Daten können durchsucht und zur späteren Verwendung als Ausgabe-Member in der Natural-Systemdatei FUSER gespeichert werden. Zusätzlich zu den aus der Datenbank abgerufenen Daten enthalten die Ausgabe-Member auch Db2-Statusinformationen und das ausgeführte SQL-Member.

Wenn Sie ein SQL-Statement ausführen, werden die Ergebnisse automatisch auf dem Ausgabebildschirm angezeigt. Sie können den interaktiven SQL-Ausgabebildschirm also auch durch Ausführen eines SQL-Statements vom Eingabebildschirm aus aufrufen. Vom Ausgabebildschirm können Sie durch Drücken von PF3 (Beenden) zum Eingabebildschirm zurückkehren.

Informationen zu den anderen verfügbaren PF-Tasten siehe PF-Tastenbelegungen.

Die für Ausgabe-Member verfügbaren Verwaltungskommandos können auch in einem Fenster angezeigt und ausgewählt werden, siehe Globale Verwaltungskommandos. Das Fenster wird durch Eingabe des Hilfezeichens, d.h. eines Fragezeichens (`?`), in der Kommandozeile des Ausgabebildschirms aufgerufen.

      15:57:59              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Output       SAG                   S 02- ---------------Columns 001 072
       ====> ?                                                      Scroll ===>  PAGE
       ***** ********************** +----------------------------------+*************
       ***** ********************** !                                  !*************
                                    !   _  List <*,member>             !
                                    !   _  READ <member>               !
                                    !   _  SAve <member>               !
                                    !   _  Purge <member>              !
                                    !   _  LIBrary <library>           !
                                    !                                  !
                                    +----------------------------------+

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help        Exit        Rfind Rchan -     +            <     >    Canc

Abgesehen von den Verwaltungskommandos stehen nur Blätter-Kommandos zur Verfügung (siehe Mit den Natural Tools for Db2 editieren), da die Ausgabe-Member nicht geändert werden können. Sowohl Blätter- als auch Verwaltungskommandos werden in der Kommandozeile des Ausgabebildschirms eingegeben.

Wenn ein Ausgabe-Member zu groß ist, um auf den Bildschirm zu passen, können Sie das Kommando `FIX ON n` verwenden, um die ersten `n` Zeichen beim Blättern nach links oder rechts auf dem Bildschirm zu behalten.

### Ein Ausgabe-Member abrufen

Wenn Sie einen eindeutigen Member-Namen im Feld Member des Interactive SQL-Bildschirms angeben, wird das entsprechende Output Member auf dem Bildschirm aufgelistet. Wenn kein Member mit dem angegebenen Namen existiert, wird eine entsprechende Meldung zurückgegeben.

#### Beispiel für ein auf dem Output-Bildschirm aufgelistetes Ausgabe-Member

      16:27:12              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Output       SAG(TESTSEQO)         S 02- ---------------Columns 001 072
       ====>                                                        Scroll ===>  PAGE
       ***** ****************************** top of data *****************************
       00001 CREATE TABLE DEMOTABLE
       00002   (COL1                CHAR(8),
       00003    COL2                INTEGER
       00004   ) IN DATABASE DEMO
       00005 ------------------------------------------------------------------------
       00006 STATEMENT WAS SUCCESSFUL, SQLCODE = 0
       00007 ------------------------------------------------------------------------
       00008 INSERT INTO DEMOTABLE
       00009   VALUES ('AAAAA',1)
       00010 ------------------------------------------------------------------------
       00011 STATEMENT WAS SUCCESSFUL, SQLCODE = 0
       00012 ------------------------------------------------------------------------
       00013 SELECT FROM DEMOTABLE
       00014 ------------------------------------------------------------------------
       00015 COL1          COL2
       00016 ------------------------------------------------------------------------
       00017 AAAAA            1

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help        Exit        Rfind Rchan -     +            <     >    Canc

### Ausgabe-Member auflisten

Wenn Sie im Feld Member des Bildschirms Interactive SQL einen Wert gefolgt von einem Stern (*) angeben, wird eine Liste aller Datenausgabe-Member in der aktuellen Library angezeigt, deren Namen mit diesem Wert beginnen.

Wenn Sie nur die Stern-Notation angeben, wird eine Liste aller Datenausgabe-Member in der aktuellen Library angezeigt.

#### Beispiel einer Auswahlliste für Datenausgabe-Member

      16:24:02              ***** NATURAL TOOLS FOR DB2 *****           2009-10-30
                                      Select Member

            C     Member      Type         User        Date        Time
            -     --------    -----------  --------    --------    -----------
            _     AAAA        SQL-RESULT   SAG         2009-10-30  13:54:54
            _     ADEMVIEW    SQL-RESULT   SAG         2009-10-30  14:01:09
            _     AIRCRAFT    SQL-RESULT   SAG         2009-10-30  10:01:32
            _     BBBB        SQL-RESULT   SAG         2009-10-30  15:25:14
            _     BSP1        SQL-RESULT   SAG         2009-10-30  14:57:11

Aus der Auswahlliste der Ausgabe-Member können Sie Ausgabe-Member zur Anzeige auswählen, indem Sie diese mit einem `S` markieren.

Wurde die Liste durch ein `PURGE`-Kommando aufgerufen, können die Member durch Markierung mit einem `P` gelöscht werden.

## SQL-Statements verarbeiten

Auf SQL-Eingabe-Member (Textobjekte) kann nur über den Bildschirm ISQL - Input zugegriffen werden. Sie werden durch Drücken von PF4 (Exec) vom Eingabebildschirm aus gegen Db2 ausgeführt.

Nach der Ausführung erscheint der Bildschirm zur Datenausgabe, der die Ergebnisse des ausgeführten SQL-Members enthält.

Besteht ein SQL-Member aus mehreren SQL-Statements, müssen die einzelnen Statements durch ein Semikolon getrennt werden. Sie können einzeln oder alle zusammen zur selben Zeit ausgeführt werden.

Zur Auswahl der Ausführungsform steht ein Fenster zur Verfügung, das durch Drücken von PF2 (Setup) aufgerufen werden kann.

      16:29:12              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
       ISQL - Input        SAG(TESTSEQ)          S 01- ---------------Columns 001 072
       ====>                                +---------------------------------------+
       ***** ****************************** !                                       !
       00001 CREATE TABLE DEMOTABLE         !  _  Execute statements one by one     !
       00002   (COL1                 CHAR(8 !  X  Execute all statements together   !
       00003    COL2                 INTEGE !                                       !
       00004   ) IN DATABASE DEMO;          !  _  Optional Commit/Rollback          !
       00005 INSERT INTO DEMOTABLE          !  X  Automatic Commit/Rollback         !
       00006   VALUES ('AAAAA',1);          !                                       !
       00007 * INSERT INTO DEMOTABLE        !  _  Ignore positive SQLCODEs          !
       00008 *   VALUES ('BBBBB',2);        !                                       !
       00009 SELECT FROM DEMOTABLE;         ! Text for NULL values      : <NULL>__  !
       00010 DROP TABLE DEMOTABLE;          ! Sql termination character : ;         !
       ***** **************************** b ! Maximum length of columns :    _____  !
                                            ! Maximum number of rows    :  _______  !
                                            ! DB2 cost limit            :  _______  !
                                            !
                                            ! Database type(DB2,CNX)    : DB2       !
                                            ! Header Line every 15___ Data Lines    !
                                            ! Record Length Data Session: _250      !
                                            !                                       !
      Enter-PF1---PF2---PF3---PF4---PF5---PF+---------------------------------------+
            Help  Setup Exit  Exec  Rfind Rchan -     +     Outpu             Canc

Nachstehend finden Sie Informationen zu den angebotenen Optionen:

- Statements der Reihe nach ausführen

- Alle Statements zusammen ausführen

- Automatisches Festschreiben/Zurücknehmen

- Optionales Festschreiben/Zurücknehmen

- Text für NULL-Werte

- SQL-Beendigungszeichen

- Maximale Länge der Spalten

- Maximale Anzahl der Zeilen

- Db2-Kostengrenze

- Kopfzeile alle n Datenzeilen

- Datensatzlänge pro Datensitzung

### Statements der Reihe nach ausführen

(Execute Statements One By One)

Nach jedem SQL-Statement wird der Bildschirm für die Ausgabe angezeigt. Vom Ausgabebildschirm aus können Sie entweder das nächste SQL-Statement vom Eingabebildschirm aus ausführen, indem Sie PF4 (Next) drücken, oder die restlichen SQL-Statements überspringen und sofort zum Eingabebildschirm zurückkehren, indem Sie PF3 (Exit) drücken.

### Alle Statements zusammen ausführen

(Execute All Statements Together)

Alle Statements werden sofort nacheinander ausgeführt. Auf dem Ausgabebildschirm werden die Ergebnisse aller Statements gemeinsam angezeigt.

Statements, die Cursornamen, Hostvariablen oder Parametermarkierungen enthalten, können mit interaktivem SQL nicht ausgeführt werden. Ebenfalls nicht ausgeführt werden Statements, die nur als eingebettetes SQL verfügbar sind, d.h. Statements, deren Funktionen automatisch von Natural ausgeführt werden.

Diese Statements sind:

`CLOSE`
`CONNECT`
`DECLARE`
`DELETE WHERE CURRENT OF CURSOR`
`DESCRIBE`
`EXECUTE`
`FETCH`
`INCLUDE`
`OPEN`
`PREPARE`
`SELECT INTO`
`SET host-variable`
`SET CURRENT PACKAGESET`
`UPDATE WHERE CURRENT OF CURSOR`
`WHENEVER`

### Automatisches Festschreiben/Zurücknehmen

(Automatic Commit/Rollback)

Wenn Sie Automatic Commit/Rollback wählen, wird jede Änderung der Datenbank automatisch entweder festgeschrieben oder zurückgenommen, je nachdem, ob alle beteiligten SQL-Statements erfolgreich ausgeführt wurden. Wenn ja, wird ein `SQL COMMIT WORK`-Kommando ausgeführt. Wenn nicht, werden mit einem `SQL ROLLBACK`-Kommando alle Datenbankänderungen seit dem letzten Commit-Punkt rückgängig gemacht.

### Optionales Festschreiben/Zurücknehmen

(Optional Commit/Rollback)

Wenn Sie Optional Commit/Rollback wählen, wird nach jedem SQL-Statement ein Fenster eingeblendet, in dem Sie die Möglichkeit haben, die auf dem Bildschirm angezeigten Datenbankänderungen entweder festzuschreiben oder zurückzunehmen.

Anmerkung
Da unter CICS und IMS TM jede Terminal-Ein-/Ausgabe zu einem `SYNCPOINT` führt, kommt die optionale Commit/Rollback-Funktion nur in einer TSO-Umgebung zur Anwendung.

In allen Umgebungen können Sie auch `SQL COMMIT`- und `ROLLBACK`-Kommandos in Ihr Eingabe-Member aufnehmen. Unter CICS und IMS TM werden diese Kommandos jedoch in die entsprechenden TP-Monitor-Aufrufe übersetzt.

### Text für NULL-Werte

(Text For NULL Values)

Der Text, der bei `NULL`-Werten angezeigt werden soll, kann hier angegeben werden. Die Standardzeichenfolge ist `---`.

### SQL-Beendigungszeichen

(SQL Termination Character)

Wenn Sie mehrere SQL-Statements eingeben, müssen diese voneinander getrennt werden. Das Standardzeichen für den Abschluss eines Statements ist das Semikolon (`;`).

### Maximale Länge der Spalten

(Maximum Length of Columns)

Begrenzt die Länge für eine einzelne Spalte auf `n` Zeichen. Diese Begrenzung gilt nur für Zeichendaten. `DATE`-, `TIME`- oder `NUMERIC`-Spalten werden nicht abgeschnitten. Der Wert `0` zeigt an, dass es keine Begrenzung gibt.

### Maximale Anzahl der Zeilen

(Maximum Number of Rows)

Begrenzt die Anzahl der Zeilen, die von einem `SELECT`-Statement zurückgegeben werden. Der Wert `0` zeigt an, dass es keine Begrenzung gibt.

### Db2-Kostengrenze

(Db2 Cost Limit)

Legt ein Limit für die Db2-Kalkulation fest. `SELECT`-Statements, die dieses Limit überschreiten, werden nicht ausgeführt. Der Wert `0` zeigt an, daß kein Limit existiert.

### Kopfzeile alle n Datenzeilen

( Header Line Every `n` Data Lines)

Für `SELECT`-Statements können Sie festlegen, dass alle `n` Datenzeilen eine Kopfzeile mit den Namen der ausgewählten Spalten eingefügt wird. Wenn `n` auf `0` gesetzt wird, wird nur eine Kopfzeile am Anfang der Daten angezeigt.

### Datensatzlänge pro Datensitzung

(Record Length Data Session)

Die Satzlänge (`n`) für die Ausgabesitzung kann angegeben werden. Wenn die angegebene Satzlänge kleiner ist als die Satzlänge der Ausgabedaten, werden die Ausgabesätze entsprechend abgeschnitten. Das Abschneiden von Datensätzen wird durch ein Größer-als-Zeichen (>) als ganz linkes Zeichen in der ersten Zeile unter jeder Kopfzeile angezeigt. Der Standardwert für `n` ist 250 Bytes.

## PF-Tastenbelegungen

Die folgenden PF-Tasten-Einstellungen gelten für den Bildschirm ISQL - Input:

Taste | Belegung | Funktion
--- | --- | ---
PF2 | Setup | Ruft ein Fenster mit weiteren Verarbeitungsoptionen auf.
PF4 | Exec | Führt das SQL-Member (Textobjekt) aus, das sich gerade auf dem Bildschirm befindet.
PF5 | Rfind | Wiederholt das zuletzt ausgeführte `FIND`-Kommando.
PF6 | Rchan | Wiederholt das zuletzt ausgeführte `CHANGE`-Kommando.
PF7 | - | Blättert die Anzeige eine Seite zurück.
PF8 | + | Blättert die Anzeige um eine Seite vorwärts.
PF9 | Outpu | Ruft die Auswahlliste der Ausgabe-Member (Textobjekte) direkt aus dem Eingabebildschirm heraus auf.

Abgesehen von PF2 (Setup), PF4 (Exec) und PF9 (Outpu) gelten die gleichen PF-Tasten-Einstellungen auch für den Bildschirm ISQL - Output. Darüber hinaus sind die folgenden PF-Tastenbelegungen verfügbar:

Taste | Belegung | Funktion
--- | --- | ---
PF4 | Next | Führt das nächste SQL-Statement aus, wenn ein SQL-Member aus mehr als einem Statement besteht und Sie die Ausführung der einzelnen Statements nacheinander gewählt haben. Ist dies nicht der Fall, bleibt die Taste PF4 unbelegt.
PF10 | < | Blättert die Anzeige des Bildschirms nach links.
PF11 | > | Blättert die Anzeige des Bildschirms nach rechts.

## Interaktive SQL-Ergebnisse entladen

Die Ergebnisse von interaktivem SQL werden entladen und in ein Dataset mit dem DD-Namen `CMWKF01` im Batch-Modus mit dem Befehl `UNLDDATA` geschrieben.

`CMWKF01` sollte ein variables Satzformat haben. Die Satzlänge hängt von der Größe des SQL-Ausgabe-Members (Textobjekt) ab und kann zwischen 250 und 4000 Byte betragen.

Um die Ergebnisse von interaktivem SQL zu entladen:

1. Melden Sie sich an der Natural Library `SYSDB2` an.

2. Geben Sie in der Kommandozeile das Kommando `UNLDDATA` ein und drücken Sie Enter.

   Das Menü Unload SQL Results wird angezeigt:

         16:53:20              ***** NATURAL TOOLS FOR DB2 *****             2009-10-30
                                      - Unload SQL Results -

                                    Code Function
                                    ---- -------------------
                                     U   Unload SQL Results
                                     .   Exit
                                    ---- -------------------
                             Code .. _   Library .. ________
                                         Member ... ________

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

   Die folgende Funktion ist verfügbar:

   Code | Beschreibung
   --- | ---
   `U` | Entlädt die Ergebnisse der interaktiven SQL-Ausführung.

   Es gelten die folgenden Parameter:

   Parameter | Beschreibung
   --- | ---
   `Library` | Gibt den Namen der Natural Library an, aus der die angegebenen Ausgabe-Member entladen werden sollen. Sie können keine Libraries angeben, deren Namen mit `SYS` beginnen. Dieser Parameter muss angegeben werden.
   `Member` | Gibt den/die Namen des/der zu entladenden Ausgabe-Member an. Dieser Parameter muss angegeben werden.

### On this page

- Funktion Interactive SQL aufrufen
- SQL Input Members
- Data Output Members
- SQL-Statements verarbeiten
- PF-Tastenbelegungen
- Interaktive SQL-Ergebnisse entladen