View Full Version : Update Funktion SQLRPG
Hallo zusammen,
kann mir bitte mal jemand die Syntax eines Update Befehls mit einem join innerhalb eines SQLRPG erklären
UPDATE File1 inner join File2 on Feld1 = Feld2
SET NAME = :NEUBEZ
EMLA = :EMLNEU
TYP = :NEUEMPF
WHERE EMLA = :ALTEML AND BEZ LIKE :JFI%
Er scheint sowohl Probleme mit dem inner join als auch mit dem "%" zu haben.
Danke im Voraus
MG
Einen Inner Join kennt der Update auch nicht.
Hier musst du dann die Where klausel z.B. mit einem "exists" ergänzen:
UPDATE File1
SET NAME = : NEUBEZ
,EMLA = : EMLNEU
,TYP = : NEUEMPF
WHERE EMLA = : ALTEML AND BEZ LIKE : JFI
and exists (
select * from File2 where Feld1 = Feld2)
Das "%" musst du bereits in deinem Feld JFI eintragen.
Alternativ ginnge auch
like trim(: JFI) concat '%'
danke erstmal..
Bei dem Beispiel mit exists wird kein Satz geändert. Ein debug hat ergeben das beide Felder innerhalb des exists immer mit '0000000' gefüllt sind.
Woran kann das liegen? Gibt's vllt. auch weitere Möglichkeiten?
Grüße
MG
Dann noch mal im Klartext:
UPDATE File1 A
SET NAME = : NEUBEZ
,EMLA = : EMLNEU
,TYP = : NEUEMPF
WHERE EMLA = : ALTEML AND BEZ LIKE : JFI
and exists (
select * from File2 B where A.KEY = B.KEY)
Der Exists ist quasi ein Chain auf File2 mit den Schlüsseln aus File1 bei dem dann %FOUND = TRUE oder FALSE für den Where geliefert wird.
Und welche Felder sind mit 000 gefüllt?
Es geht doch bei dem SQL ausschließlich um die Hostvariablen, die einen gescheiten Inhalt haben müssen.
Danke funktioniert. Hatte nur einen kleinen Denkfehler in der Logik
Grüße
_MG_