-
SQL und CLLE
Frage an die SQL Nerds
Kann ich in einem CLLE mit SQL auch folgendes (analog fetch) machen:
Ich lese ein File mit einem "like value" z.B. alle Kunden die mit Kd-Nr. 1 beginnen
und starte eine Anwendung mit Parameter ganze Kundennummer, bis kein Record mit 1% gefunden wird.
... oder soll ich dafür ein kleines RPG Programm bemühen?
Danke für die Hilfe
kf
-
sql?
opnqryf + ovrdbf mit rcvf gehen dafür
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Du erstellst ganz einfach in deinem CLLE eine View basierend auf dem kompletten SELECT-Statement (geht mit RUNSQL) und liest dann durch diese View, wie durch eine ganz normale Datei (DCLF ... RCVF) .
Du musst die View lediglich zur Compile-Zeit definiert haben, damit du sie mit DCLF registrieren kannst.
Birgitta
-
Da CLP für Select-SQL's weniger geignet ist und du RPGLE kannst, bist du wesentlich flexibler, wenn du RPGLE nimmst. Dann kannst du deine Whereklausel auch parametrieren.
Ein CLP liest von Anfang bis Ende. Du müsstest also on the fly in der QTEMP die View immer erst neu erstellen.
-
Ein CLP liest von Anfang bis Ende.
Deswegen ja der OPNQRYF! Damit geht ne Menge!
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Danke für die Antworten.
@Robi: Der opnqryf erinnert mich doch zu sehr an AS400. ;-)
@Birgitta: Die Lösung mit der View hätte mich überzeugt, bis ich auf wechselnde where Konditionen gestossen bin. Da hätte ich die View - innerhalb einer CLLE - immer wieder neu erstellen müssen.
Deshalb folge ich auch Baldurs Vorschlag, bzw. hab das SQLRPGLE schon praktisch fertig.
kf
-
Ich war schon immer der Meinung, für gestellte Aufgaben die beste Alternative zu wählen.
Bei SQL-Selects ist es eher eben RPGLE als CLLE.
Für andere SQL's kannst du nun gerne auch RUNSQL statt RUNSQLSTM verwenden, da du da eben auch Parameter haben kannst.
Und OPNQRYF ist ja wirklich eher V3 als V7.
-
Zitat von camouflage
Danke für die Antworten.
@Birgitta: Die Lösung mit der View hätte mich überzeugt, bis ich auf wechselnde where Konditionen gestossen bin. Da hätte ich die View - innerhalb einer CLLE - immer wieder neu erstellen müssen.
... und wo liegt das Problem? Eine View ist lediglich ein gesichertes SELECT Statement und in CLLE kannst Du eine Datei auch mehrfach lesen.
-
Birgitta,
wenn sich innerhalb des Selects ein "where" Wert ändert, muss ich die View neu erstellen. Das ist der Punkt, der mir nicht so gefällt.
kf
-
Dann solltest Du wohl doch ein RPG-Programm schreiben!
-
Falls das jemand nachmachen möchte: ich schreibe gar keine CLLE's mehr, mache alles in Free mit QCMDEXC - die Anweisungen Monitor und Commit sind in diesem Kontext unschlagbar!
-
Nun ja, wenn ich im CLP/CLLE mit Commands umgehe erleichtert das das Schreiben schon.
Aber jedem das Seine.
Similar Threads
-
By msost in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 31-08-17, 12:50
-
By dibe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 18-09-15, 09:55
-
By Etherion in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 30-09-14, 13:36
-
By Ludger Muhmann in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-10-02, 14:06
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