[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    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!)

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. create table as .. with data, unterschiedliche CSSIDs
    By Souljumper in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 03-01-11, 18:47
  2. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 09:28
  3. CREATE TABLE
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 02-08-05, 14:52
  4. SQL - Create Table X/Y Angabe Satzformat
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 25
    Letzter Beitrag: 05-11-04, 16:17
  5. DATFMT bei CREATE TABLE
    By lorenzen in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-03-01, 14:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •