[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2004
    Beiträge
    31

    Tabellenupdate mit SQL

    Hallo an alle.
    Heute habe ich mal eine Frage zu SQL.
    Ich möchte eine Tabelle mit Werten einer anderen updaten.

    Wie stelle ich es (unter V5R2M0) in SQL an?

    Danke
    Schorsch

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo Schorsch,

    das ist ein bisschen komplexer.
    Du benötigst im Set einen Select um die Feldwerte aus der anderen Tabelle zu ermitteln. Zusätzlich, musst Du sicher stellen, dass das Ergebnis genau einen Satz zurückliefert.

    Hier ein Beispiel:
    Code:
    update MyTable2 A                                   
           set (A.Feld1, A.Feld2) = (select B.Feld1, B.Feld2            
                                       from Mytable1 B             
                                       where     A.Key1 = B.Key1
                                             and A.Key2 = B.Key2) 
           where exists (select C.Key1, C.Key2                
                           from MyTable1 C               
                           where     A.Key1 = C.Key1
                                 and A.Key2 = C.Key2)
    Wenn ich mich jetzt nicht vertippt habe, müsste es so funktionnieren.

    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

  3. #3
    Registriert seit
    Apr 2004
    Beiträge
    31

    Thumbs up

    Zitat Zitat von B.Hauser
    Hallo Schorsch,

    das ist ein bisschen komplexer.
    Du benötigst im Set einen Select um die Feldwerte aus der anderen Tabelle zu ermitteln. Zusätzlich, musst Du sicher stellen, dass das Ergebnis genau einen Satz zurückliefert.

    Hier ein Beispiel:
    Code:
    update MyTable2 A                                   
           set (A.Feld1, A.Feld2) = (select B.Feld1, B.Feld2            
                                       from Mytable1 B             
                                       where     A.Key1 = B.Key1
                                             and A.Key2 = B.Key2) 
           where exists (select C.Key1, C.Key2                
                           from MyTable1 C               
                           where     A.Key1 = C.Key1
                                 and A.Key2 = C.Key2)
    Wenn ich mich jetzt nicht vertippt habe, müsste es so funktionnieren.

    Birgitta
    Klappt prima. Danke vielmals.
    Schorsch

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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