create or replace function f_get_bh (v_tablename varchar2,v_col varchar2)
return int
as --add by chengcj 20120326
nb_flag1 number(10);
nb_flag2 number(10);
nb_flag3 number(10);
l_bh number(10) ;
bh_return number(10);
begin
execute immediate 'select min('|| v_col||') from '||v_tablename into nb_flag1;
-- execute immediate 'select max('|| v_col||') from '||v_tablename into nb_flag2;
nb_flag2:=100000000;
l_bh:=nb_flag1;
for l_bh in nb_flag1..nb_flag2 loop
execute immediate 'select count(1) from '||v_tablename|| ' where '||v_col||'='||l_bh
return int
as --add by chengcj 20120326
nb_flag1 number(10);
nb_flag2 number(10);
nb_flag3 number(10);
l_bh number(10) ;
bh_return number(10);
begin
execute immediate 'select min('|| v_col||') from '||v_tablename into nb_flag1;
-- execute immediate 'select max('|| v_col||') from '||v_tablename into nb_flag2;
nb_flag2:=100000000;
l_bh:=nb_flag1;
for l_bh in nb_flag1..nb_flag2 loop
execute immediate 'select count(1) from '||v_tablename|| ' where '||v_col||'='||l_bh
into nb_flag3;
exit when nb_flag3=0;
bh_return :=l_bh+1;
end loop;
return bh_return;
end f_get_bh;
exit when nb_flag3=0;
bh_return :=l_bh+1;
end loop;
return bh_return;
end f_get_bh;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24156512/viewspace-719687/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24156512/viewspace-719687/