直接写在数据库中啊CREATE OR REPLACE PROCEDURE Pr_test ( v_unite_code in varchar2 ) AS v_temp number(10); sql_str varchar2(200); v_map varchar2(50); v_field varchar2(20); v_code varchar2(20); type cur is ref cursor; v_cur cur; BEGIN v_field :='REN'; v_map := 'R20'; v_code :='5D'; sql_str := 'select maping_rule, field_value,field_catlog_code from v_fieldconversion where table_name ='''||v_field||''' and field_name = '''||v_map||''' and field_catalog = ''0.5'''; open v_cur for sql_str; loop fetch v_cur into v_map, v_field, v_code; if v_cur%notfound then exit; end if; end loop;
exception when others then insert into pop.t_sum_error values(v_field,v_map,v_code,'1'); commit;END;在pb中调用的话,excute pr_test('')
v_unite_code in varchar2
)
AS
v_temp number(10);
sql_str varchar2(200);
v_map varchar2(50);
v_field varchar2(20);
v_code varchar2(20);
type cur is ref cursor;
v_cur cur;
BEGIN
v_field :='REN';
v_map := 'R20';
v_code :='5D';
sql_str := 'select maping_rule, field_value,field_catlog_code from v_fieldconversion where table_name ='''||v_field||''' and field_name = '''||v_map||''' and field_catalog = ''0.5''';
open v_cur for sql_str;
loop
fetch v_cur into v_map, v_field, v_code;
if v_cur%notfound then
exit;
end if;
end loop;
exception
when others then
insert into pop.t_sum_error values(v_field,v_map,v_code,'1');
commit;END;在pb中调用的话,excute pr_test('')
EXEC PRO_NAME();