sql - Looping in PLSQL -


have ever been working on something, found easier way it, completed project, still wanted first way work?

thats i'm @ right now. wanted count number of instances in column recent number , preceding number not equal. decided while loop.

for example,

4 3 2 1 1 1 0 0 0 

would return 3, 4 decreases 1 in 3 intervals.

4 4 3 2 1  0  0 

would return 0, 4 not decrease in recent interval.

i have written

declare     cursor curr               select (ytdoverdrafts - previous_ytdoverdrafts) colum           (select lag(ytdoverdrafts,1,0) on (order effdate asc) previous_ytdoverdrafts,            ytdoverdrafts                wh_acctdeposit                acctnbr = xxxxxxxxx                order effdate desc);    counter binary_integer :=0;    readcurr curr%rowtype;    status integer; begin    open curr;    fetch curr readcurr;   while readcurr.colum > 0     loop                counter := counter + 1;           dbms_output.put_line(counter);         dbms_output.get_line(counter, status);     end loop;     close curr; end; 

which runs, not give output should. doing wrong dbms_output statements?

looks single query can this, modified query please check below:

select sum((case when (ytdoverdrafts - previous_ytdoverdrafts) <> 0 1 else 0 end)) non_equal_count       (select lag(ytdoverdrafts,1,0) on (order effdate asc) previous_ytdoverdrafts,        ytdoverdrafts            wh_acctdeposit            acctnbr = xxxxxxxxx); 

Comments