优雅转身

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  65 随笔 :: 0 文章 :: 25 评论 :: 34万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

文章目录

  • 前言
  • 一、批量将表名变为大写
  • 二、批量将空间内所有表的所有字段名变成大写
  • 三、将用户空间的所有表名及所有字段变为大写
  • 前言

    当使用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;
    复制代码

     

posted on   优雅转身  阅读(965)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示