In einer Oracle-Datenbank (11gR2), habe ich eine Tabelle my_table
mit Spalten (Sequenz, col1, col2, col3). Ich möchte Werte in die Tabelle einfügen, die von anderen Tabellen abgefragt werden, d. H. insert into my_table select <query from other tables>
. Das Problem ist, dass der Primärschlüssel die vier Spalten ist, daher muss ich eine Sequenz beginnend von 0 bis zur Zählung der einzufügenden Zeilen hinzufügen (die Reihenfolge ist kein Problem).Wie fügt man Spalten mit der Sequenzspalte hinzu?
Ich habe versucht, eine Schleife wie folgt aus:
DECLARE
j NUMBER;
r_count number;
BEGIN
select count(1) into r_count from <my query to be inserted>;
FOR j IN 0 .. r_count
LOOP
INSERT INTO my_table
select <my query, incorporating r_count as sequence column> ;
END LOOP;
END;
Aber es hat nicht funktioniert, geschleift tatsächlich r_count
mal versucht, die ganze Zeilen jedes Mal einzufügen, es als logisch tun soll. Wie kann ich das erwartete Ziel erreichen und Zeilen einfügen, indem ich eine Sequenzspalte hinzufüge?
Wie um alles in der Welt hast du nur einen Vertreter? :) Danke – amyassin