declare
cursor c1 is
select t.TABLE_NAME from dba_tables t where t.OWNER = 'GHSJ_JCSJ';
v_table dba_tables%rowtype;
type v_table_name is table of dba_tables.TABLE_NAME%type;
v_name v_table_name := v_table_name();
cursor c2 is
select t2.disp_name, t2.id
from PUB_DAMAIN_VALUE t2
where t2.domain_type_id = '200080';
v_PUB_DAMAIN_VALUE PUB_DAMAIN_VALUE%rowtype;
type v_id_name is table of PUB_DAMAIN_VALUE.id%type;
v_id v_id_name := v_id_name();
type v_disp_name_name is table of PUB_DAMAIN_VALUE.disp_name%type;
v_disp_name v_disp_name_name := v_disp_name_name();
t_table_name varchar2(50);
v_str varchar2(200);
tag integer := 1;
begin
open c1;
open c2;
fetch c1 bulk collect
into v_name;
for i in 1 .. v_name.count loop
t_table_name:=v_name(i);
/*
fetch c2 bulk collect
into v_id, v_disp_name;
*/
tag := 1;
loop
exit when c2%notfound;
v_id.extend;
v_disp_name.extend;
fetch c2 into v_id(tag), v_disp_name(tag);
tag := tag + 1;
end loop;
dbms_output.put_line(v_id.count);
for j in 1 .. v_id.count loop
v_str:= 'update '||t_table_name||' set sj_type= '||v_id(j) || ' where sj_type='||v_disp_name(j);
dbms_output.put_line(v_str);
execute immediate(v_str);
commit;
end loop;
end loop;
close c1;
close c2;
end
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22067506/viewspace-716092/
,如需转载,请注明出处,否则将追究法律责任。