日期:2014-05-17  浏览次数:20956 次

dts导出数据到oracle,怎么批量将表名小写字母改成大写?
SQLServer2000用dts将数据库表导出到oracle 11g中,查询的话,表名要带双引号,需要将表名中的小写字母改成大写的,我试着用rename可以改但是只能一次改一个,我有200多个表,有没有可以批量修改的方法? 求教

------解决方案--------------------
SQL code
begin
   for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop
       begin
          execute immediate 'alter table "'||c.tn||'" rename to '||c.tn;
       exception
          when other then
             dbms_output.put_line(c.tn||'已存在');
       end;
   end loop; 
end;