PL/SQL mehrere Cursor-For-Schleifen mit gleichem Rumpf

zuckerbrini

Mitglied
Hallo!

Ich habe also zwei Select's:

Code:
SELECT a, b, c
FROM irgendwas
WHERE x=1

SELECT a, b, c
FROM irgendwas
WHERE x=2

Hiermal die Cursor-For-Schleife für den ersten Select:

Code:
FOR schleife IN (SELECT a, b, c
                               FROM irgendwas
                                WHERE x=1) LOOP
  --Hier werden nun ganz viele verschiedene Dinge gemacht
END LOOP;

Genau die gleiche Schleife möchte ich jetzt nochmal ausführen nur mit dem zweiten Select.

Natürlich könnte ich das ganze nehmen und kopieren und nur den select austauschen, aber das ist ja nicht wirklich schön.

Gibt es hierfür nicht irgendeine Möglichkeit?

Wichtig ist noch das ich das ganze in einer einzigen Procedur machen will und nicht auf mehrere aufteilen.

Liebe Grüße
 
Eine Möglichkeit wäre die Selectanweisung dynamisch zu machen wenn das geht, weils ja auch beides die gleichen Anweisungen sind
Ist nur die Frage wie dein x=1 oder =2 wird.
wenn du das hast, dann übergibst du nur x der schleife und dann brauchst du sie nur einmal zu bauen ;)

Gruß
Evo
 
Nur sind die Selectanweisungen leider viel komplizierter.
Es waren zwar die gleichen Dinge ausgegben nur sind die where-Klauseln sehr stark unterschiedlich. Also fällt diese Möglichkeit leider weg.
 
Kannst du deine beiden SQL Anweisungen mal posten, da kann man dir vllt. besser helfen.
Weil wenn sich nur der Where Teil ändert sollte das kein Problem sein, das mit String anfügen o.ä. zu bauen ;)

Gruß
Evo
 
Zurück