Helios co.
Lt. Commander
- Registriert
- März 2005
- Beiträge
- 1.863
Hallo @all,
ich versuche mich aktuell in PL/SQL und habe just eine Frage. Ich habe mir die Grundlagen so weit angeschaut, bin aber teilweise noch bissel konfus.
Was ich im Prinzip machen will, ist folgendes:
1. Ich habe eine verschachtelte SQL QUERY, mit einem inneren und einem äußeren SELECT.
2. Nun möchte ich, dass der innere SELECT in einer Funktion ausgeführt wird.
3. D.h. der Äußere SELECT bleibt wie gehabt, doch der innere SELECT wird ersetzt durch einen Funktionsaufruf (innerhalb eines Packages).
Ich wäre dankbar, wenn mir jemand die grundlegende Vorgehensweise erläutern könnte.
Aktuell gehe ich so vor, dass ich einen Select - Cursor (wenn man das so sagen kann) definieren:
D.h. ich will nur die Werte zweier Spalten haben.
Anschließend habe ich folgendes gemacht:
Ab hier weiß ich aber nicht mehr wirklich weiter. Im Prinzip müsste ich doch in einer Schleife die Werte aus dem Cursor holen und diese entsprechend in my_record_var schreiben und hier zunächst ganz nach Wunsch und Laune die Einträge bearbeiten?
Wie aber schreibe ich die Werte aus dem Cursor in den Record und wie gebe ich eine SQL Tabelle aus, mit der der äußere SELECT weiterarbeiten kann?
Bin dankbar für jeden Rat!
ich versuche mich aktuell in PL/SQL und habe just eine Frage. Ich habe mir die Grundlagen so weit angeschaut, bin aber teilweise noch bissel konfus.
Was ich im Prinzip machen will, ist folgendes:
1. Ich habe eine verschachtelte SQL QUERY, mit einem inneren und einem äußeren SELECT.
2. Nun möchte ich, dass der innere SELECT in einer Funktion ausgeführt wird.
3. D.h. der Äußere SELECT bleibt wie gehabt, doch der innere SELECT wird ersetzt durch einen Funktionsaufruf (innerhalb eines Packages).
Ich wäre dankbar, wenn mir jemand die grundlegende Vorgehensweise erläutern könnte.
Aktuell gehe ich so vor, dass ich einen Select - Cursor (wenn man das so sagen kann) definieren:
Code:
CURSOR test_cur IS SELECT test_id, test_value FROM test_table;
D.h. ich will nur die Werte zweier Spalten haben.
Anschließend habe ich folgendes gemacht:
Code:
--Definition des Records.
TYPE my_record_type IS RECORD(test_id NUMBER, test_value NUMBER);
my_record_var my_record_type;
Ab hier weiß ich aber nicht mehr wirklich weiter. Im Prinzip müsste ich doch in einer Schleife die Werte aus dem Cursor holen und diese entsprechend in my_record_var schreiben und hier zunächst ganz nach Wunsch und Laune die Einträge bearbeiten?
Wie aber schreibe ich die Werte aus dem Cursor in den Record und wie gebe ich eine SQL Tabelle aus, mit der der äußere SELECT weiterarbeiten kann?
Bin dankbar für jeden Rat!