DECLARE
TYPE n_type IS TABLE OF t.id%TYPE;
t_id n_type:=n_type();
l_recfc sys_refcursor;
j number;
begin
open l_recfc for
select * from (select 0 id from dual union all
select id from t);
fetch l_recfc bulk collect into t_id;
for i in 3 .. t_id.count loop
if t_id(i) t_id(1):=t_id(i);
t_id(i):=t_id(i-1);
dbms_output.put_line('yes'||t_id(1));
j:=i-2;
loop
exit when t_id(j+1)>t_id(j);
t_id(j+1):=t_id(j);
j:=j-1;
end loop;
dbms_output.put_line('i='||i||',j='||j);
t_id(j+1):=t_id(1);
dbms_output.put_line('t_id(1)='||t_id(1));
end if;
for ii in 2 .. t_id.count loop
dbms_output.put_line('t_id('||ii||')='||t_id(ii));
end loop;
end loop;
end;
TYPE n_type IS TABLE OF t.id%TYPE;
t_id n_type:=n_type();
l_recfc sys_refcursor;
j number;
begin
open l_recfc for
select * from (select 0 id from dual union all
select id from t);
fetch l_recfc bulk collect into t_id;
for i in 3 .. t_id.count loop
if t_id(i) t_id(1):=t_id(i);
t_id(i):=t_id(i-1);
dbms_output.put_line('yes'||t_id(1));
j:=i-2;
loop
exit when t_id(j+1)>t_id(j);
t_id(j+1):=t_id(j);
j:=j-1;
end loop;
dbms_output.put_line('i='||i||',j='||j);
t_id(j+1):=t_id(1);
dbms_output.put_line('t_id(1)='||t_id(1));
end if;
for ii in 2 .. t_id.count loop
dbms_output.put_line('t_id('||ii||')='||t_id(ii));
end loop;
end loop;
end;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25989950/viewspace-748712/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25989950/viewspace-748712/