Oracle将所有表名及指定表中的所有字段转换成大写

  • Post author:
  • Post category:其他


1. 转换所有表

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 others then
             dbms_output.put_line(c.tn||'已存在');
       end;
   end loop; 
end;

2. 转换指定表中的所有字段——需要将“表名称”替换为要替换的表名称

begin
for c in (select COLUMN_NAME cn from all_tab_columns where table_name='表名称') loop
begin
execute immediate 'alter table 表名称 rename column "'||c.cn||'" to '||c.cn;
exception
when others then
dbms_output.put_line('表名称'||'.'||c.cn||'已经存在');
end;
end loop;
end;



版权声明:本文为a1411863635原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。