oracle 执行动态语句 using

DECLARE
e_name VARCHAR2(50); --声明变量e_name
begin
for names in (select tablenames from codetable) loop
dbms_output.put_line('create table '||names.tablenames||' as select * from '||names.tablenames||'@tlma2 where 1=0;');

--dbms_output.put_line('drop table '||names.tablenames||';');
e_name:=names.tablenames;
dbms_output.put_line(e_name);
begin
EXECUTE IMMEDIATE 'drop table :1' using e_name;
--EXECUTE IMMEDIATE 'create table '||names.tablenames||' as select * from '||names.tablenames||'@tlma2 where 1=0';
exception--如果错误抛出异常
when others then
null;
end;
end loop;

end;

posted on 2014-06-06 16:42  青春的虎子  阅读(167)  评论(0)    收藏  举报

导航