create procedure proc002(tblName in varchar2) is tblnm char(50); strsql char(250); cursor c_fl is select * from it_fl; begin for cv_fl in c_fl loop begin tblnm:=tblname; strsql:='update '||tblnm||' SET FL = '''||cv_fl.FL||''' WHERE OLDFL = '||cv_fl.OLDFL; dbms_output.put_line(strsql); execute immediate strsql; end; end loop; commit; end proc002;
用1楼和2楼结合的东西就行。create procedure proc002(tblName in varchar2) is strsql char(250); begin strsql:='delete from '||tblName; execute immediate strsql; commit; end proc002;
tblnm char(50);
strsql char(250);
cursor c_fl is select * from it_fl;
begin
for cv_fl in c_fl loop
begin
tblnm:=tblname;
strsql:='update '||tblnm||' SET FL = '''||cv_fl.FL||''' WHERE OLDFL = '||cv_fl.OLDFL;
dbms_output.put_line(strsql);
execute immediate strsql;
end;
end loop;
commit;
end proc002;
strsql char(250);
begin
strsql:='delete from '||tblName;
execute immediate strsql;
commit;
end proc002;