-
Create table lib/file as ...
Hi *all
ich habe hier ein SQLRPGLE Pgm mit einem recht komplexen
SQL Konstrukt
Um das Ergebnis zu prüfen habe ich das Statement auch schon interaktiv ausgeführt.
Da es Host Variablen enthält (ich glaube so heist das, wir sagen immer Doppelpunktfelder) möchte ich nun die Selektion zusätzlich in eine Datei ausgeben.
Also habe ich ein
"Create table qtemp/testfile as ("
davor gesetzt und ein
") with data"
dahinter.
Fehlermeldung beim Wandeln:
Position 37 Host-Variable hier nicht zulässig.
Kann ich beim
create table qtemp/testfile as (
with base as(select ...
where feld = :sollwert ...)
select f1, f2, f3 from base where ...
) with data
keine :variablen verwenden?
Alternativen ?
danke
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Mach das SQL-Statement dynamisch und fühere es mit EXECUTE immediate aus. Etwas in die Richtung:
Code:
D MySQLStmt S 1024A Varying
/Free
MySQLStmt = 'Create Table QTEMP/MYTABLE +
as (Select ..... +
From ... +
Where MyFld1 = ' + %Char(MyNumVar) +
' and MyFld2 = ''' + MyCharVar + ''' +
and ... ) +
With Data';
Exec SQL Execute immediate :MySQLStmt;
/End-Free
Birgitta
-
Hallo Birgitta,
sowas wollt ich vermeiden
die Lesbarkeit und die Pgm Pflege wird so zum Horrortrip.
Wir würden beim Kunden viel mehr mit SQL machen, wenn ich die das SQL Ergebnis einfach in eine Datei umleiten könnte.
(zusätzlich)
Da sowol beim fetch als auch bei massen Updat's
Zum Testen Schalter setzen und dann prüfen ob die verwendeten Sätze die richtigen sind.
Bisher machen wir das vorwiegend interaktiv aber kopier mal 3 Seiten strukturiert geschriebennen Code aus einem Pgm in eine interaktive Sitzung.
(oder umgekehrt)
Anschließend müssen noch die Host-Variablen gesetzt oder entfernd werden
Ich hab das jetzt gemacht, und es funzt erstmal, Danke
Gruß
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Zerlegt Ihr eure komplexen Abfragen nicht in Views und setzt dann nur noch die Where-Bedingungen dazu.
Views können verschachtelt werden. (Ich hab' teilweise Views, die 4 oder 5fach verschachtelt sind).
Da Views keine Schlüssel haben kosten Sie beim Insert/Update und Delete von Datensätzen keine Performance, d.h. du kannst buchstäblich tausende von Views haben ohne irgendwelche Performance-Einbußen.
Die Views könnt Ihr dann sowohl in die Programme einbinden als auch zum Testen verwenden.
... und sofern sich die View ändert, braucht wahrscheinlich noch nicht einmal das Programm angepasst werden.
... und alle SQL Interfaces (incl. Query/400 und Download auf PC) können die Views verwenden.
Wahrscheinlich braucht ihr dann noch nichteinmal temporäre Dateien.
Birgitta
Similar Threads
-
By Souljumper in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 03-01-11, 17:47
-
By ahingerl in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 08-12-06, 08:28
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 02-08-05, 13:52
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 25
Letzter Beitrag: 05-11-04, 15:17
-
By lorenzen in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 21-03-01, 13:44
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