-
SQLRPGLE Infos zu verwendeten Feldern auslesen
Hallo zusammen,
ich wüsste gerne, ob ich die Felder (Anzahl und oder Name), die von einem SELECT in einem SQLRPGLE verwendet werden, "auslesen" kann ?
Hintergrund ist, dass der SQL-Befehl an das RPG-Programm übergeben wird und dort "nur" ausgeführt wird, die Daten werden via *table-Objekt (Script Net.Data) zurückgegeben.
Nun wäre es für mich wichtig, "flexibel" auf die Feldliste reagieren zu können !
Vielen Dank im Voraus !
Peet
-
Wenn dein Programm den SQL bekommt, kannst du den SQL ja parsen, m.a.W, also selber analysieren.
Indirekt geht das nach dem Prepare auch per "describe statement", dabei erhältst du dann in einer SQLDA-Tabelle die Ergebnisnamen des Select's.
Auf den Ursprungsnamen oder dieTabelle bei Joins kommst du da leider nicht, wenn Umbenennungen im SQL erfolgen.
-
Zitat von Fuerchau
Wenn dein Programm den SQL bekommt, kannst du den SQL ja parsen, m.a.W, also selber analysieren.
Indirekt geht das nach dem Prepare auch per "describe statement", dabei erhältst du dann in einer SQLDA-Tabelle die Ergebnisnamen des Select's.
Auf den Ursprungsnamen oder dieTabelle bei Joins kommst du da leider nicht, wenn Umbenennungen im SQL erfolgen.
Hallo,
vielen Dank für die Infos.
Hast du ggf. ein Beispiel fürs "parsen" oder "describe statement" ?
Gruß...
-
Nunja, parsen heißt, den SQL-String selber in Worte zerlegen, Syntax beachten und Feldnamen extrahieren.
Welcher Name nun zu welcher Tabelle gehört (CTE, Join, Subselect u.v.m.) ist dann noch aufwendiger.
Wenn du den SQL per Prepare vorbereitet hast, kannst du diesen per "describe ..." analysieren.
Hierbei werden wie gesagt nur Ergebnisnamen geliefert.
Den Describe-Befehl kannst du im SQL-Reference-Handbuch nachlesen.
-
Vielleicht noch eine kleine pragmatische Idee, die jedoch nur dann funktioniert, wenn die Felder alle benannt sind:
1. Erstelle einfach eine Tabelle (nicht in der QTEMP) sondern irgendeiner Arbeits-Bibliothek basierend auf dem SELECT-Statement und ohne Daten.
z.B. so CREATE TABLE MyLib/MyTable as (SELECT ....) with no Data;
2. Anschließend kannst Du die Spalten-Namen, Anzahl und Reihenfolge der Spalten, sowie deren Definition aus der Catalog-View SYSCOLUMNS auslesen.
3. Lösche die Arbeitsdatei wieder.
Birgitta
-
Zitat von B.Hauser
Vielleicht noch eine kleine pragmatische Idee, die jedoch nur dann funktioniert, wenn die Felder alle benannt sind:
1. Erstelle einfach eine Tabelle (nicht in der QTEMP) sondern irgendeiner Arbeits-Bibliothek basierend auf dem SELECT-Statement und ohne Daten.
z.B. so CREATE TABLE MyLib/MyTable as (SELECT ....) with no Data;
2. Anschließend kannst Du die Spalten-Namen, Anzahl und Reihenfolge der Spalten, sowie deren Definition aus der Catalog-View SYSCOLUMNS auslesen.
3. Lösche die Arbeitsdatei wieder.
Birgitta
Hallo zusammen,
vielen Dank an euch beide für die Infos und Ideen.
Ich werde die Vorschläge mal testen.
Gruß
peet
Similar Threads
-
By ExAzubi in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 09-03-14, 15:41
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 11-02-14, 13:25
-
By AndreasH in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 18-09-02, 10:36
-
By Ma-Cell in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 29-05-02, 16:44
-
By B.Hauser in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 01-10-01, 17:31
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks