Oracle如何批量将表中字段名全转换为大写(利用简单存储过程)

 更新时间:2020年11月11日 12:14:08   作者:w.ang.jie  
这篇文章主要给大家介绍了关于Oracle如何批量将表中字段名全转换为大写的相关资料,主要利用的就是一个简单的存储过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

今天查询一个数据字段一直提示字符无效,明明在数据库表字段中是存在的;

查询后得知,数据库表字段为小写时,查询需要将字段名小写并加上双引号;

表名同理,我这里表名是大写,暂时不需要改。

搜到一个批量修改字段名为大写的存储过程,如下:

登陆到要修改的用户下,

执行:

begin
for cl in (SELECT table_name,column_name from user_tab_columns WHERE column_name<>upper(column_name) and upper(column_name) not in('SIZE','CHECK')) loop
begin
execute immediate 'alter table '||cl.table_name||' rename column "'|| cl.column_name ||'" to '||upper(cl.column_name);
exception
when others then
dbms_output.put_line(cl.table_name||'.'||cl.column_name||'已存在');
end;
end loop;
end;

即完成该用户下所有表字段名改为大写的过程。

附上批量修改表名为大写的存储过程,以备后用:

-- oracle 批量修改表名为大写(当前登录用户)
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;

再附 字段类型批量修改(此时表内无内容):

DECLARE
  CURSOR TEMP IS SELECT TABLE_NAME,COLUMN_NAME,DATA_LENGTH FROM USER_TAB_COLUMNS WHERE DATA_TYPE = 'NVARCHAR2' AND ROWNUM < 100;
  STR VARCHAR2(100) := '';
 BEGIN 
   FOR S IN TEMP LOOP
    STR := 'ALTER TABLE '||S.TABLE_NAME||' MODIFY('||S.COLUMN_NAME||' VARCHAR2(200))';
    DBMS_OUTPUT.PUT_LINE(STR);
   EXECUTE IMMEDIATE STR ;
   
   END LOOP;
 END;

到此这篇关于Oracle如何批量将表中字段名全转换为大写(利用简单存储过程)的文章就介绍到这了,更多相关Oracle批量将表字段名转换为大写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle 查询优化的基本准则详解

    Oracle 查询优化的基本准则详解

    本篇文章是对Oracle查询优化的基本准则进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 全面解析Oracle Procedure 基本语法

    全面解析Oracle Procedure 基本语法

    这篇文章主要介绍了Oracle Procedure 知识,包括oracle的存储过程注意事项方面的内容,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Oracle PL/SQL入门慨述

    Oracle PL/SQL入门慨述

    Oracle PL/SQL入门慨述...
    2007-03-03
  • CentOS系统上安装配置Oracle数据库的详细教程

    CentOS系统上安装配置Oracle数据库的详细教程

    这篇文章主要介绍了CentOS系统上安装配置Oracle数据库的详细教程,包括安装过程中一些常见错误问题的解决,需要的朋友可以参考下
    2016-03-03
  • Oracle数据库表中字段顺序的修改方法

    Oracle数据库表中字段顺序的修改方法

    这篇文章主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-11-11
  • 如何使用GDAL库的ogr2ogr将GeoJSON数据导入到PostgreSql中

    如何使用GDAL库的ogr2ogr将GeoJSON数据导入到PostgreSql中

    本文主要介绍了PyTorch中的masked_fill函数的基本知识和使用方法,masked_fill函数接受一个输入张量和一个布尔掩码作为主要参数,掩码的形状必须与输入张量相同,掩码操作根据掩码中的布尔值在输出张量中填充指定的值或保留输入张量中的值
    2024-10-10
  • Oracle 11g收集多列统计信息详解

    Oracle 11g收集多列统计信息详解

    我们在写SQL语句的时候,有的时候会碰到where子句后面有多个条件的情况,也就是根据多列的条件筛选得到数据。下面这篇文章主要给大家介绍了Oracle 11g收集多列统计信息的相关资料,文中介绍的非常详细,需要的朋友可以参考下。
    2017-03-03
  • Oracle中如何把表和索引放在不同的表空间里

    Oracle中如何把表和索引放在不同的表空间里

    Oracle中并没有区分表空间里放的是表还是索引,所有当数据量比较小时,完全可以把表和索引放在同一个表空间里,但随着数据量的增大,最好还是把表和索引分开存储在不同的表空间里
    2013-07-07
  • 浅谈oracle中单引号转义

    浅谈oracle中单引号转义

    这篇文章主要介绍了浅谈oracle中单引号转义的香瓜内容,涉及单引号的作用以及其具体用法,具有一定参考价值,需要的朋友可以参考下。
    2017-09-09
  • Oracle数据库升级或数据迁移方法研究

    Oracle数据库升级或数据迁移方法研究

    本文详细论述了oracle数据库升级的升级前的准备、升级过程和升级后的测试与调整工作,并对各种升级方法在多种操作系统平台上作了测试。
    2016-07-07

最新评论