| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Help - How to declare a cursor inside a FOR ... LOOP ?
You're
probably right, I think I got stuck on the whole DECLARE BEGIN EXCEPTION END
thing.
<FONT face=Tahoma
size=2>-----Original Message-----From: Streeter, Lerone A LBX
[mailto:StreeLA2_at_HPD.Abbott.com]Sent: Tuesday, April 03, 2001 4:36
PMTo: Multiple recipients of list ORACLE-LSubject: RE:
Help - How to declare a cursor inside a FOR ... LOOP ?
i
speak from ignorance, isn't there implicit and explicit cursor declarations
and usage? can't you encapsulate that section you have identified in a
loop and it will implicitly opens a cursor? then all you have to do is
manipulate as needed to generate desired results...
===========================================LeroneStreeterSystem AnalystAbbott
LBGStreeLA2_at_hpd.abbott.com===========================================
<FONT face=Tahoma
size=2>-----Original Message-----From: Dasko, Dan
[mailto:Dan.Dasko_at_cdicorp.com]Sent: Tuesday, April 03, 2001 3:41
PMTo: Multiple recipients of list ORACLE-LSubject: RE:
Help - How to declare a cursor inside a FOR ... LOOP ?
<SPAN
class=869183918-03042001>You can't. It appears that you want to select
all the detailed text extries related to a specific problem. You could
define a cursor that selects all the detailed entries, or you could read all
the detailed entries into a pl/sql table and then search through them.
If you use the cursor, then you have to reopen the cursor for each new
problem.
<SPAN
class=869183918-03042001>
<SPAN
class=869183918-03042001>Dan
<FONT face=Tahoma
size=2>-----Original Message-----From: Wendy Y
[mailto:lannyue_at_yahoo.com]Sent: Tuesday, April 03, 2001 2:51
PMTo: Multiple recipients of list ORACLE-LSubject:
Help - How to declare a cursor inside a FOR ... LOOP
?
Hey, Guys:
I need to decalre a cursor inside a FOR .. LOOP, because the
variables in SELECT statement for the CURSOR are coming from FOR ..
LOOP. How could I do this?
DECLARE V_AKTIV_NR
aktiv.AKTIV_NR%TYPE; V_PROBLEM
aktiv.PROBLEM%TYPE; V_ENDDAT
aktiv.ENDDAT%TYPE; V_ENDUHR
aktiv.ENDUHR%TYPE; V_AUSSAGEW
aktiv.AUSSAGEW%TYPE; V_LANGTEXT
aktiv.LANGTEXT%TYPE; V_LONGTEXT
VARCHAR2(20000); V_LONGTEXT_CUR VARCHAR2(13000);
V_LONGTEXT_TRIM VARCHAR2(2000); p_PROBLEM
PROBLEM.PROBLEM%TYPE;
############# This part need to be
inside FOR.. LOOP, otherwise, I wouldn't get anything.
CURSOR AKLangTextCur
IS SELECT TO_CHAR(V_ENDDAT, 'YYYYMMDD')||'
'|| V_ENDUHR||' '|| rtrim(V_AUSSAGEW)||'
'|| rtrim(V_LANGTEXT)
thisText FROM
AKTIV WHERE V_PROBLEM =
p_PROBLEM ORDER BY
Aktiv_NR; AKLangTextRec
AKLangTextCur%ROWTYPE;
################################### <FONT
size=2>AboveBEGIN FOR v_LoopIndex IN
1..pkgFreeText.v_NumEntries LOOP V_AKTIV_NR :=
pkgFreeText.V_AKTIV_NR_P(v_LoopIndex);
V_PROBLEM :=
pkgFreeText.V_PROBLEM_P(v_LoopIndex);
V_ENDDAT :=
pkgFreeText.V_ENDDAT_P(v_LoopIndex);
V_ENDUHR :=
pkgFreeText.V_ENDUHR_P(v_LoopIndex); V_AUSSAGEW :=
pkgFreeText.V_AUSSAGEW_P(v_LoopIndex); V_LANGTEXT :=
pkgFreeText.V_LANGTEXT_P(v_LoopIndex);
SELECT PROBLEM INTO p_PROBLEM FROM
PROBLEM;
########## CURSOR DECLARE should be
HERE ##########
BEGIN OPEN
AKLangTextCur;
LOOP
FETCH AKLangTextCur into
AKLangTextRec;
EXIT WHEN
AKLangTextCur%NOTFOUND;
V_LONGTEXT_CUR := V_LONGTEXT_CUR
||AKLangTextRec.thisText;
END
LOOP; CLOSE
AKLangTextCur;
END; V_LONGTEXT
:= V_LONGTEXT || V_LONGTEXT_CUR;
END LOOP; V_LONGTEXT_TRIM :=
RTRIM(V_LONGTEXT, 2000);
Thanks a lot for help
Wendy
Do You Yahoo!?<A
href="http://personal.mail.yahoo.com/?.refer=mailiyfoot">Yahoo! Mail
Personal Address - Get email at your own domain with Yahoo! Mail.
_____________________________________________________________________This
e-mail message has been scanned for the presence of all known computer
viruses by the MessageLabs Virus Control Center. However, it is still
recommended that you use local virus scanning software to monitor for the
presence of viruses.
_____________________________________________________________________This
e-mail message has been scanned for the presence of all known computer viruses
by the MessageLabs Virus Control Center. However, it is still recommended that
you use local virus scanning software to monitor for the presence of viruses.
Received on Tue Apr 03 2001 - 14:47:03 CDT
![]() |
![]() |