Daten zwischen Tabellen kopieren

Hallo zusammen,

ich suche schon seit langem nach einer Lösung für ein Problem.

Ich habe 2 Tabellen und müsste aus einer Tabelle einen Wert in die andere Tabelle schreiben.

TAB1:

ARTNR MANDT EAN PREIS AKTUELL
4711 1 4444 4,50 J
4711 1 4444 4,45 N
4712 1 4242 3,20 J

TAB2:

ARTNR BEZEI PREIINFO
4711 test1 ?????
4712 aloha ?????

Wie muss ich mein update-Statement aufbauen, das ich aus TAB1.PREIS in TAB2.PREIINFO die Daten kopieren kann?

Ich habe schon folgendes versucht, was aber nur mit einer Artikelnummer klappt. Das Problem es sind ca. 100.000 Artikelnummern.

update TAB2
set PREIINFO = (select PREIS from TAB1 where ARNR = '4711' and AKTUELL = 'J')
where ARTNR = '4711'

Das ganze läuft in Oracle 10g.

Ich sag schon mal Danke, wenn jemand eine kleine Lösung für mich hat, da ich irgendwie nicht weiterkomme.

Hallo,

update TAB2 T2
set T2.PREIINFO = (select T1.PREIS from TAB1 T1 where T1.ARTNR = T2.ARTNR and AKTUELL = ‚J‘);

(ungetestst)

Hallo Niederbayer,

folgendes sollte passen:
/**/
update tab2
set tab2.PreiInfo = tab1.Preis
from tab2
, tab1
where tab2.ArtNr = tab1.ArtNr
and Tab1.Aktuell = ‚J‘
and Tab2.ArtNr = ‚4711‘
/**/

Wenn du nicht nur die 4711er updaten willst, dann lass die letzte Bedingung weg. Dadurch werden alle Daten in Tab2 geändert, die es in Tab1 gibt.

Gruß Volker