[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2010
    Beiträge
    9

    Embedded SQL Insert aus Feldgruppe

    Hallo Forum!
    Ich möchte gern in RPG den Inhalt einer Feldgruppe (z.B. FG1) für ein SQL Insert nutzen.
    Meine Feldgruppe enthält 24 Datensätze, die ich zuvor gefüllt habe und diese möchte ich in 24 Felder einer Tabelle einfügen.

    Also vereinfacht dargestellt z.B.:

    C/EXEC SQL
    C+ INSERT INTO TABELLE (FELD1, FELD2, ...) VALUES (:FG1(1), :FG1(2), ...)
    C/END-EXEC

    Leider kommt SQL mit der Klammer in dem Variablennamen nicht klar.
    Gibt es eine Möglichkeit das Problem zu umgehen? Oder vielleicht eine andere Lösung?

    Gruß
    Sven-Arne

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    Hi Sven-Arne,

    versuch mal folgendes
    PHP-Code:
    d DSfg            ds                                                       
    d  fg_01                         7  0                                      
    d  fg_02                         7  0                                      
    d  fg_03                         7  0                                      
    d  
    ..........                                                              
    d  fg_23                         7  0                                      
    d  fg_24                         7  0                                      
    d FG                                  Overlay 
    DSfg  Likefg_01 )      
    d                                     Dim24 Inz( *Zeros )              
                                                                               
    C/EXEC-SQL                                                                 
    C
    INSERT INTO TABELLE (FELD1FELD2, ...) VALUES (:FG_01, :FG_02, ...)    
    C/END-EXEC 
    Ich habe dein Feld FG mal jetzt einfach auf 7,0 definiert.
    Gruß
    Ronald

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Was hast Du denn in einem Element? Einen Spalten-Wert oder den ganzen Datensatz?

    Bei Spalten-Werten sollte die Lösung von Ronald funktionieren, wobei ...
    Wenn alle Felder, die eingefügt werden sollen mit der richtigen Definition und in der richtigen Reihenfolge in der Datenstruktur stehen, kann auch die Datenstruktur verwendet werden:

    Code:
    Exec SQL 
       Insert into MyTable 
         (Col1, Col2, ... ColN)
         Values(:myDS);
    Wenn mehrere Datensätze eingefügt werden sollen, sollten diese nicht in einer Feldgruppe, sondern in einer Array-Datenstruktur (oder auch Mehrfach-Datenstruktur) hinterlegt werden.
    Bei Mehrfach-Datenstrukturen oder Array-Datenstrukturen können mehrere Datensätze auf einmal eingefügt werden, sofern natürlich der Satz-Aufbau stimmt:

    Code:
    Exec SQL
       Insert into MyTable
          (Col1, Col2, ... ColN)
          x Rows Values(:MyArrDS);
    wobei x die Anzahl der Array-Elemente (DIM oder OCCUR) ist.

    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

  4. #4
    Registriert seit
    Mar 2010
    Beiträge
    9
    Vielen Dank euch beiden für die Hilfe!
    Ich habe es jetzt mt der Lösung von Ronald geschafft.

    Gruß
    Sven-Arne

Similar Threads

  1. Embedded SQL in VARPG
    By Squall in forum NEWSboard Programmierung
    Antworten: 23
    Letzter Beitrag: 18-10-06, 12:01
  2. RPG mit Embedded SQL, JOIN ..
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 18-06-06, 12:14
  3. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  4. Character verbinden in Embedded SQL
    By e_sichert in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 03-05-06, 10:47
  5. Embedded SQL in Modul - Nach Insert bleibt Datei gesperrt (*EXCL)
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 09-12-04, 12:21

Berechtigungen

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