Yep - here's an example. There is really a whole lot more that goes with
this, but I've included the pertinent portions so you can get an idea.
Hope this helps.
SET DEFINE OFF;
CREATE OR REPLACE PROCEDURE Student_Course_Report(
fromSchool varchar2,
toSchool varchar2,
fromCourse varchar2,
toCourse varchar2)
AS
schoolWhereClause varchar2(250);
courseWhereClause varchar2(250);
TYPE RefCurType IS REF CURSOR;
schoolCur RefCurType;
v_schoolnum varchar2(3);
v_schoolname varchar2(35);
ACRSVar varchar2(13);
BEGIN
IF fromSchool = 'All Schools' THEN
schoolWhereClause:= ' Where schoolnum
not in ( ' || '''' || '800' || '''' ||
' , ' || '''' || 'D01' || '''' || ')
Order by schoolnum';
END IF;
OPEN schoolCur for
'Select schoolnum, name
From sasi.asch ' ||
schoolWhereClause;
LOOP
Fetch schoolCur into v_schoolnum, v_schoolname;
EXIT WHEN schoolCur%NOTFOUND;
ACRSVar:= 'sasi.ACRS1'||v_schoolnum;
OPEN courseCur for
'Select statecrs1, title, course
From ' || ACRSVar ||
courseWhereClause;
LOOP
Fetch coursecur into v_statecrs1, v_title,
v_course;
EXIT WHEN courseCur%NOTFOUND;
David A. Barbour
Oracle DBA, OCP
AISD
512-414-1002
Eric.Chesebro@
chase.com To: Multiple recipients of list ORACLE-L
<[EMAIL PROTECTED]>
Sent by: cc:
[EMAIL PROTECTED] Subject: pl/sql question
om
10/02/2001
11:50 AM
Please respond
to ORACLE-L
Can I somehow use a variable for the table name in a cursor select?
Here is the example:
--Declaration Section
sSrcTableName VARCHAR2(50) := iFeedNm||'_1_1_'
||TO_CHAR(SYSDATE,'YYMMDD')||'_SRC';
--cursor for tmo daily source records
CURSOR cTMODaily IS
SELECT *
FROM sSrcTableName;
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).