MULTIPLE ROWS holen und in 1 VARIABLE - ORACLE STORED PROCEDURE speichern

7

Ich arbeite an ORACLE STORED PROCEDURES und habe Zweifel. Ich habe eine Abfrage, die mehr als 1 Zeile abruft und ich möchte alle diese 3 Zeile Werte in 1 Variable speichern. Kann mir bitte jemand dabei helfen.

Meine Frage geht so:

SELECT STUDENT_NAME FROM STUDENT.STUDENT_DETAILS WHERE CLASS_ID= 'C';

Hier holt diese Abfrage 3 Namen

  

Jack,   Jill,   Häschen

Ich möchte, dass alle diese 3 Namen in einer Variablen gespeichert werden, d. h. C_NAMES. Und danach verwende ich diese Variable in weiteren Schritten meiner Prozedur.

Kann mir bitte jemand dabei helfen.

Ich würde Ihre Zeit und Mühe sehr schätzen.

Vielen Dank im Voraus,

Vrinda:)

    
vrindamarfatia 06.06.2013, 16:19
quelle

4 Antworten

17
%Vor%     
the_slk 06.06.2013, 16:53
quelle
3

Abhängig von Ihrer Oracle-Version (& gt; = 11G (11.2)) können Sie LISTAGG verwenden:

%Vor%

BEARBEITEN: Wenn Ihre Oracle-Version 11G (11.2) unterlegen ist, schauen Sie sich hier an

    
Ederson 06.06.2013 16:36
quelle
2

Sie brauchen dafür einen Cursor:

%Vor%     
vc 74 06.06.2013 16:27
quelle
1

Hallo allerseits und Danke für deine Zeit. Ich habe die Frage und alles dank Ederson gelöst.

Hier ist die Lösung:

%Vor%

Nun, wenn Sie dies in einer gespeicherten Prozedur oder PLSQL verwenden, müssen Sie nur eine Variable erstellen und SELECT INTO damit verwenden und die Variable ausgeben.

Hier ist der Code

%Vor%

Nochmals vielen Dank für Ihre Hilfe Leute.

    
vrindamarfatia 17.06.2013 16:25
quelle