2009-08-11 9 views
7

Ich habe eine Reihe von Dateien in einer Bibliothek auf einem AS/400/iSeries/System-I/was auch immer-IBM-will-mich-zu-rufen-es-diese- Tage, für die ich kein DDS habe (erstellt in SQL, das ich sammle), aber dem ich Feldbeschreibungen hinzufügen möchte. Ich kann keinen Weg finden, dies auf der 400 zu tun.Fügen Sie eine Feldbeschreibung zu einer DB2/400-Datei hinzu

Weiß jemand, wie ich Feldbeschreibung hinzufügen kann? Wird SYSIBM.SQLCOLUMNS direkt aktualisiert, um COLUMN_TEXT sicher zu setzen?

(Ich suche hier keine allgemeinen SQL-Antworten, nur DB2/400-spezifische Antworten. Leider gibt es bei IBMs Umbenennungen dieser Plattform und dem sehr un-google-fähigen Namen, den sie gewählt haben, kaum Antworten (oder vor allem um zu beweisen, dass es keine Antwort gibt) auf solche Fragen, ohne lange zu suchen durch umfangreiche, undurchdringliche Dokumentation)

Antwort

13

Verwenden Sie den LABEL SQL-Befehl. Wenn Sie den grünen STRSQL-Befehl verwenden, können Sie ihn aufrufen. Der LABEL-Befehl kann verwendet werden, um Spaltenspalte und Spaltenüberschriften festzulegen.

Hier ist ein Beispiel für die Verwendung des LABEL-Befehls, um Spaltentext für zwei Felder in der Datei TESTFILE1 anzugeben. Die Felder sind FIELD1 und FIELD2 in diesem Beispiel genannt:

LABEL ON COLUMN TESTFILE1 
(FIELD1 TEXT IS 'My Field 1 text', FIELD2 TEXT IS 'My Field 2 text') 

Hier ist ein Beispiel der Befehl LABEL verwenden Spaltenüberschriften zu geben, die in Abfrageergebnissen auftauchen würde:

LABEL ON COLUMN TESTFILE1 
(FIELD1 IS 'My field   Heading 1', 
FIELD2 IS 'My field   Heading 2') 

Wenn Spaltenüberschriften zu schaffen , Sie erhalten 60 Zeichen pro Feld. Die ersten 20 Zeichen sind Linie 1. Die zweiten 20 Zeichen sind Linie 2. Die dritte 20 Zeichen sind Linie 3. In dem obigen Beispiel würden die Feldüberschriften wie folgt aussehen:

My field  My field 
Heading 1 Heading 2
+0

Sie haben gerade meine Tush gespeichert! – jlarson

+0

BTW, wusstest du das gerade, oder war das etwas, das du aufgesucht hast? Und wenn du nachgeschaut hast, gib mir einen Hinweis auf deine Methode, weil ich immer auf der Suche nach As400 Sachen bin ... – jlarson

+0

Es ist eine Mischung. Ich warf einen Blick in das Inhaltsverzeichnis der SQL-Befehlsreferenz, sah das LABEL-Schlüsselwort und erinnerte mich, es vorher gesehen zu haben. Meine erste Begegnung mit diesem Schlüsselwort war, als ich eine API verwendete, die DDL aus AS/400-physischen Dateien generiert und die erzeugte DDL beinhaltete LABEL-Befehle. Der erste Ort, an den ich mich stopfe, ist das iSeries InfoCenter. Hier ist ein Link zur V5R4-Version: http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp Für die Details und Beispiele, ich ging einfach in STRSQL, erstellte eine Tabelle und dann einige aufgefordert LABEL-Befehle. –

4

Als zusätzlicher Hinweis, Sie Mit iSeries Navigator können Sie die SQL-Anweisung für diese Datei abrufen. Wenn Sie dieses Programm starten, melden Sie sich bei der iSeries an, gehen Sie zur Datenbank, gehen Sie zu den Schemas und gehen Sie zu den Tabellen, dann können Sie Ihre Datei finden. Sie finden den Knopf "SQL generieren" irgendwo. Dies erstellt eine genaue SQL-Anweisung für Sie, um die Tabelle zu erstellen. Sie können diese SQL-Anweisung verwenden, um mit dieser Tabelle zu arbeiten.

Für Ihre Fragen genügt das "LABEL" aus einer anderen Antwort. Diese Antwort ist nützlich, wenn Sie mehr Sachen machen wollen, was mit ALTER nicht möglich ist.