Re: Make use of the built-in functions for Tables



dennis.pong@xxxxxxxxx wrote:
Hi,

I'm not sure if I could do the following at all. I want to loop thru'
the table of records to check if
1) it's the first record, then do something
2) it's the last record, then do something

CREATE OR REPLACE
PROCEDURE AS
first_entry_row new_scored_alm_leads_20061218%ROWTYPE := NULL;
last_entry_row new_scored_alm_leads_20061218%ROWTYPE := NULL;


CURSOR c3 IS
SELECT * FROM new_scored_alm_leads_20061218;

BEGIN
FETCH C3.FIRST INTO first_entry_row
FETCH C3.LAST INTO last_entry_row
LOOP

IF first_entry_row THEN
IF...

ELSE N := N - 1 ;
END IF;



ELSIF last_entry_row.Last THEN

...
END IF;

END LOOP;
END;
I ended up getting a bunch of error messages like the following.
PLS-00225: subprogram or cursor 'C3' reference is out of scope

(THis program has been simplified dramatically to illustrate the
problem)

Could someone tell me how to go around this problem?


First entry?
Last entry?
Based on what?
Rows don't come with first and last unless you have a column holding
that information.

Where did the above syntax come from?
--
Daniel A. Morgan
University of Washington
damorgan@xxxxxxxxxxxxxxxx
(replace x with u to respond)
Puget Sound Oracle Users Group
www.psoug.org
.