oracle中,改变表名和字段名的大小写

1.将表名和字段名改为大写  见--http://www.cnblogs.com/wenboge/articles/4121331.html

2.将表名和字段名改为小写

①改表名为小写

begin
   for c in (select table_name tn from user_tables where table_name <> lower(table_name)) loop
       begin
          execute immediate ‘alter table ‘||c.tn||‘ rename to "‘||lower(c.tn)||‘"‘;
       exception
          when others then
             dbms_output.put_line(c.tn||‘已存在‘);
       end;
   end loop;
end;

②改字段名为小写

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 "‘||lower(c.cn)||‘"‘;
             exception
                when others then
                   dbms_output.put_line(t.tn||‘.‘||c.cn||‘已经存在‘);
             end;
         end loop;
      end;
  end loop;
end;

注:

1.如果字段和表名都要改为小写,先改字段,再改表。

2.如果表名获取字段名改为小写以后,要在查询语句中将表名和字段名都要加上双引号

例.

 表名小写 :select * from "department";

字段名小写:select "id" from "department";

我也不知道为啥这样

时间: 2024-11-09 00:34:21

oracle中,改变表名和字段名的大小写的相关文章

Oracle中改变表的Owner和tablespace

初用Oracle,很多的不熟悉,建完库,没有建用户,也没创建表空间,就直接system用户建表添加数据,几个月过去,表建了近百个,数据添加了几万条,才越来越觉得这种方式缺点太多: 在PL/SQL中系统表和用户表显示在一起,不是一般的乱: 用户权限太大,而且也不好控制: 没有独立的表空间,后期维护麻烦. 下定决心要改,初步想法是新建一个数据库B,创建用户和表空间,将原数据库A中的数据导过去,就可以了.导出没问题,导入碰到很多问题.用EXP/IMP.EXPDP/IMPDP都试过,但是改不了Owner

Oracle中使用游标获取指定数据表的所有字段名对应的字符串

操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR(255):='STAFFDOC'; --定义要查询的数据表名变量,STAFFDOC为我测试用的数据表名,请修改成您的数据库中的对应数据表名字mystring NVARCHAR2(4000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游标          s

Oracle 查询库中所有表名、字段名、表名说明、字段名说明(原创)

查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t;查询指定表的所有字段名:select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';查询指定表的所有字段名和字段说明:select t.column_name, t.column_name from

Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、

查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t;查询指定表的所有字段名:select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';查询指定表的所有字段名和字段说明:select t.column_name, t.column_name from

oracle表名、字段名等对象的命名长度限制

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/45854385 今天在为某系统数据库结构整理升级脚本时,遇到了"命名字节过长的错误",类似于下面的截图语句: 由于升级的结构中对于字段名的命名根据业务进行了修改,出现了命名过长的情况. 这里想说一下,对于oracle,表名.字段名等对象命名字节个数限制在

SQLSERVER和ORACLE批量处理表名和字段名大写

在sql移植到oracle过程中,都会遇到表名和字段名大写的问题,因为在oracle中默认表名和字段名都是大写的,虽然可以通过使用双引号的方式进行操作,如select * from "testtable"但是很多情况下,这样做的代价很大,因为很多程序的代码是早已经写好的,而要修改oracle系统配置又不安全,一个比较稳妥的办法是批量修改表名和文件名. 先说在SQL中修改表名和字段名的办法:虽然在sql中默认是不区分表名和字段名的大小写的,但是通过sql的DTS进行数据导出导入的时候,如

oracle查看该用户的所有表名字、表注释、字段名、字段注释、是否为空、字段类型

--oracle查看该用户的所有表名字.表注释.字段名.字段注释.是否为空.字段类型 select distinct TABLE_COLUMN.*, TABLE_NALLABLE.DATA_TYPE, TABLE_NALLABLE.NULLABLE from (select distinct utc.table_name table_name, utc.comments table_comments, ucc.column_name column_name, ucc.comments colum

oracle的表名、字段名、constraint名的长度限制分别是多少?

文章出处:http://blog.csdn.net/haiross/article/details/38379615 1 Oracle:表名.字段名.constraint名的长度有限制 2 3 oracle 的命名规则: 4 1.要以字母开头 5 2.包含字母和数字,以及# $ 6 3.不能超过30个字符 7 8 这是Oracle的限制! 9 10 数据库 表名列名长度限制问题 11 今天修改数据库表名,感觉现有的定义列名都无含义...修改后被同事告知,列名有点长,怕有的数据库不支持.. 12

SQL语句修改表名和字段名

今天有个临时任务,修改生产环境的数据库表名和字段名.以前要修改表名字段名都是在开发环境,直接打开 SQL Server找到对应的表或字段重命名就OK啦,可是这是线上数据库,再想直接F2修改是不可能的啦.怎么办?乖 乖写脚本呗.上网了解了一些相关资料,结合我自己操作过程中出现的一些实际问题简单作个总结,再次加深下印 象. SQL自带了一系列的系统存储过程.其中sp_rename就具有修改表名和列名的功能.对于sp_rename是这样定 义的:更改当前数据库中用户创建对象(如表.列或用户定义数据类型