oracle, update tabelle

binfgi

Mitglied
hallo,

ich habe eine Tabelle a mit einer spalte spalte_a. Diese Spalte möchte ich füllen aus einer zweiten Tabelle b mit der Spalte spalte_b. Die Verknüpfung der beiden Tabellen erfolgt Über eine id.
Das untere SQL statement funktioniert leider nicht. Aber so ähnlich müsste es gehen. Kann mir da jemand helfen?
Danke und Gruß

Code:
update table_a a
set a.spalte_a = (select b.spalte_b from tabelle_b b where a.id= b.id)
WHERE EXISTS
  ( SELECT b.spalte_b
    FROM tabelle_b b
    WHERE a.id= b.id);
 
Warum so kompliziert?

SQL:
update table_a a, tabelle_b b
SET a.spalte_a = b.spalte_b
where a.id = b.id
 
Sorry zeja, aber deine Update Syntax geht leider nicht.

Hier mein Versuch

SQL:
SQL> select * from taba;

      ID_A FELD_A
---------- --------------------
         1 old Test
         2 old Test

SQL> select * from tabb;

      ID_B FELD_B
---------- --------------------
         1 Test
         3 Test

SQL> update taba a
  2  set a.feld_a = ( SELECT feld_b FROM tabb WHERE id_b = a.ID_A )
  3  where exists (
  4     SELECT  1
  5     FROM    tabb
  6     WHERE   id_b = a.id_a
  7  );

1 Zeile wurde aktualisiert.

SQL> select * from taba;

      ID_A FELD_A
---------- --------------------
         1 Test
         2 old Test
 
Zuletzt bearbeitet von einem Moderator:
Zurück