文章目录
- 前言
- 一、批量将表名变为大写
- 二、批量将空间内所有表的所有字段名变成大写
- 三、将用户空间的所有表名及所有字段变为大写
-
前言
当使用powerdesigner创建数据库时要注意大小写。
注:以下脚本在oracle 10g,11g上正确执行一、批量将表名变为大写
1 begin 2 for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop 3 begin 4 execute immediate 'alter table "'||c.tn||'" rename to '||c.tn; 5 exception 6 when others then 7 dbms_output.put_line(c.tn||'已存在'); 8 end; 9 end loop; 10 end;
-
二、批量将空间内所有表的所有字段名变成大写
-
1 begin 2 for t in (select table_name tn from user_tables) loop 3 begin 4 for c in (select column_name cn from user_tab_columns where table_name=t.tn) loop 5 begin 6 execute immediate 'alter table "'||t.tn||'" rename column "'||c.cn||'" to '||c.cn; 7 exception 8 when others then 9 dbms_output.put_line(t.tn||'.'||c.cn||'已经存在'); 10 end; 11 end loop; 12 end; 13 end loop; 14 end;
三、将用户空间的所有表名及所有字段变为大写
-
1 begin 2 for t in (select table_name tn from user_tables where table_name <> upper(table_name)) loop 3 begin 4 for c in (select column_name cn from user_tab_columns where table_name=t.tn) loop 5 begin 6 execute immediate 'alter table "'||t.tn||'" rename column "'||c.cn||'" to '||c.cn; 7 exception 8 when others then 9 dbms_output.put_line(t.tn||'.'||c.cn||'已经存在'); 10 end; 11 end loop; 12 13 execute immediate 'alter table "'||t.tn||'" rename to '||t.tn; 14 exception 15 when others then 16 dbms_output.put_line(t.tn||'已存在'); 17 end; 18 end loop; 19 end;