• [navicate将mysql数据库数据复制到oracle数据库]--批量将oracle 表名和字段名变为大写


    当使用powerdesigner创建数据库时要注意大小写。
    注:以下脚本在oracle 10g,11g上正确执行
     
    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 t in (select table_name tn from user_tables) loop
    begin
    for c in (select column_name cn from user_tab_columns where table_name=t.tn) loop
    begin
    execute immediate 'alter table "'||t.tn||'" rename column "'||c.cn||'" to '||c.cn;
    exception
    when others then
    dbms_output.put_line(t.tn||'.'||c.cn||'已经存在');
    end;
    end loop;
    end;
    end loop;
    end;

     
    3.将用户空间的所有表名及所有字段变为大写

    begin
    for t in (select table_name tn from user_tables where table_name <> upper(table_name)) loop
    begin
    for c in (select column_name cn from user_tab_columns where table_name=t.tn) loop
    begin
    execute immediate 'alter table "'||t.tn||'" rename column "'||c.cn||'" to '||c.cn;
    exception
    when others then
    dbms_output.put_line(t.tn||'.'||c.cn||'已经存在');
    end;
    end loop;

    execute immediate 'alter table "'||t.tn||'" rename to '||t.tn;
    exception
    when others then
    dbms_output.put_line(t.tn||'已存在');
    end;
    end loop;
    end;

  • 相关阅读:
    0593. Valid Square (M)
    0832. Flipping an Image (E)
    1026. Maximum Difference Between Node and Ancestor (M)
    0563. Binary Tree Tilt (E)
    0445. Add Two Numbers II (M)
    1283. Find the Smallest Divisor Given a Threshold (M)
    C Primer Plus note9
    C Primer Plus note8
    C Primer Plus note7
    C Primer Plus note6
  • 原文地址:https://www.cnblogs.com/curedfisher/p/13539129.html
Copyright © 2020-2023  润新知