Verwenden Sie ausgewählte Abfragen in einer Prozedur in Oracle erneut

Wie würde ich das Ergebnis einer select-Anweisung speichern, damit ich die Ergebnisse mit einem wiederverwenden kann?in Klausel für andere Fragen? Hier ist ein Pseudocode:

declare
  ids <type?>;
begin
  ids := select id from table_with_ids;
  select * from table1 where id in (ids);
  select * from table2 where id in (ids);
end;

... oder macht der Optimierer das für mich, wenn ich die Unterabfrage einfach in beide select-Anweisungen setze?

EDIT: Hier finden Sie weitere Informationen zur Struktur meiner Tabellen.

Grundsätzlich ist table1 eine Standardtabelle mit der ID als Primärschlüssel. Während table2 einen 3-spaltigen Primärschlüssel hat, ist id eine dieser Spalten. In meinem Fall wird die ID in Tabelle 2 in drei Zeilen angezeigt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage