ich möchte von einer Tabelle a alle rows eines Feldes x in ein Feld y in der
Tabelle b schreiben. Kann mir da jemand auf die Sprünge helfen, wie das mit
SQL zu machen ist?
Danke,
Thomas
Thomas Heinrich schrieb:
> ich möchte von einer Tabelle a alle rows eines Feldes x in ein Feld y
> in der Tabelle b schreiben. Kann mir da jemand auf die Sprünge helfen,
> wie das mit SQL zu machen ist?
Mit update.
Grüße,
Joachim
na gut, dann ein bißchen ausführlicher:
In Sybase kann man sagen:
update <Table1>
set <Feld> = <Wert>, ...
from <Tabelle1, Tabelle2, ...>
where <Bedingung>
Falls es sowas in Oracle nicht geben sollte,
stehen folgende Möglichkeiten zur Verfügung:
1) Stored Procedure anlegen und mit Cursor
durch die Zieltabelle rasen. Dabei updaten.
2) -Eine neue Tabelle mit einer Query anlegen:
create table ... as select ... from ...
-Constraints der alten Tabelle löschen
-alte Tabelle löschen
-neue Tabelle umbenennen
-Constraints wieder anlegen.
Wahrscheinlich ist 1) günstiger. Leider kann ich zur Syntax
von Oracle-Cursors nichts sagen.
Grüße,
Joachim
insert into b(y) select x from a;
oder mit
update b set y = (select x from a where a.primärschlüsselfeld =
b.primärschlüsselfeld);
Wie wär's mit einem kleinen Schnellstart in SQL?
http://www.arsdigita.com/books/sql/index.html behandelt das Thema nicht so
staubtrocken wie manch andere Einführung.
Klaus
"Thomas Heinrich" <thomas....@materna.de> schrieb im Newsbeitrag
news:958rde$h7b$1...@penthesilea.materna.de...
In article <3A780945...@de.bosch.com>,
Sent via Deja.com
http://www.deja.com/
Dennis schrieb:
> Ist es moeglich fuer das Update mal ein konkretes Bsp zu bekommen.
> Kenne die Syntax unten nicht, damit kann ich mir auch nichts fuer
> Oracle ausdenken.
das funktioniert anscheinend nicht bei Oracle.
Nimm das Beispiel von Kathinka und leg Dir
die entsprechenden Tabellen in einer Test-DB an.
Grüße,
Joachim