PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL+ Datensätze kopieren


Tyrann
2007-09-12, 15:30:13
möchte unter oracle eine ganze stange datensätze innerhalb einer tabelle kopieren.

funktioniert bisher leider nur mit einem datensatz.

das habe ich bisher:


insert into Menge (Menge.id_kunde, Menge.datum, Menge.masse, Menge.status)
VALUES (müller,
(select Menge.datum from Menge WHERE ( Menge.id_kunde = 'meier' )),
(select Menge.masse from Menge WHERE ( Menge.id_kunde = 'meier' )),
1);



wenn ich bei "where" zusätzlich ein Kriterium angebe, so daß nur ein Datensatz gefunden wird funktioniert das auch, aber ich will ja alle Einträge des Kunden kopieren

die Tabelle besteht aus id_messung|id_kunde|datum|masse|status

id_messung ist hier der PK

Weiss jemand Rat? :confused:

Neomi
2007-09-12, 15:53:28
Mein SQL ist ein wenig eingerostet, aber du kannst definitiv konstante Ausdrücke in SELECT-Statements zurückgeben, um beliebige Datensätze zu erzeugen. Versuche es mal auf diese Art (zumindest ähnlich, ist eben eingerostet):

INSERT INTO Menge(id_kunde, datum, masse, status)
VALUES
SELECT 'müller', datum, masse, 1
FROM Menge
WHERE id_kunde = 'meier';

Gast
2007-09-12, 15:57:52
^^ Values muss noch raus. Sprich: INSERT INTO(...) SELECT...

Tyrann
2007-09-12, 18:17:46
Hat funktioniert, Tausend Dank:uup:

nefu
2007-09-12, 18:49:38
Die Oracle Doku ist im Internet frei verfügbar.
Für Dein Problem z.B.:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9014.htm#i2126076

(Für Oracle 10gR2).

Das Oracle Technology network ist für sowas immer eine gute Anlaufstelle.

http://www.oracle.com/technology/index.html

---> Documentation

Gruß!

nefu