create or replace procedure odd_even
is
cursor Cursor_Dual is select mod(level,0) AS "NUM", decode (mod (level,2),1,'ODD',0,'EVEN') AS "ODD_EVEN"
from dual connect by level <=100;
TYPE CURR_TYPE IS TABLE OF Cursor_Dual%ROWTYPE
INDEX BY PLS_INTEGER;
lv_type CURR_TYPE;
begin
open Cursor_Dual;
loop
fetch Cursor_Dual bulk collect into lv_type;
FOR INDX in 1 .. lv_type.count
loop
dbms_output.put_line ('THE NUMBER IS'||':'||' '||lv_type(INDX).NUM||' '||''||'-'||''||' '||
'IT IS'||':'||' '||lv_type(INDX).ODD_EVEN);
end loop;
EXIT WHEN Cursor_Dual%NOTFOUND;
END LOOP;
close Cursor_Dual;
end;
-----------------------
create or replace procedure PROC_DISPLAY_ODD_EVEN (P_Number in number)
IS
begin
if P_Number =0 then
dbms_output.put_line('number is 0 SO undefined');
elsif mod(P_Number,2)=0
then
dbms_output.put_line('number is even');
else
dbms_output.put_line('number is odd');
end if;
end;
is
cursor Cursor_Dual is select mod(level,0) AS "NUM", decode (mod (level,2),1,'ODD',0,'EVEN') AS "ODD_EVEN"
from dual connect by level <=100;
TYPE CURR_TYPE IS TABLE OF Cursor_Dual%ROWTYPE
INDEX BY PLS_INTEGER;
lv_type CURR_TYPE;
begin
open Cursor_Dual;
loop
fetch Cursor_Dual bulk collect into lv_type;
FOR INDX in 1 .. lv_type.count
loop
dbms_output.put_line ('THE NUMBER IS'||':'||' '||lv_type(INDX).NUM||' '||''||'-'||''||' '||
'IT IS'||':'||' '||lv_type(INDX).ODD_EVEN);
end loop;
EXIT WHEN Cursor_Dual%NOTFOUND;
END LOOP;
close Cursor_Dual;
end;
-----------------------
create or replace procedure PROC_DISPLAY_ODD_EVEN (P_Number in number)
IS
begin
if P_Number =0 then
dbms_output.put_line('number is 0 SO undefined');
elsif mod(P_Number,2)=0
then
dbms_output.put_line('number is even');
else
dbms_output.put_line('number is odd');
end if;
end;
0 Comments