ORACLE 之 标识符无效 问题总结及解决方案

ORACLE 之 标识符无效 问题总结及解决方案今天自己在家里做毕业设计,遇到了ORACLE数据库的一些问题,所以来总结一下。自己在上班的时候也遇到客户过提过这样的问题,当时自己在百度上查了,给客户解决完。自己也没有在意,这次又出现这个问题,又是折腾了一会。真不值,遇到过的问题一定要多去总结和回顾(一)ONE第一种情况可能是因为你的SQL中

大家好,欢迎来到IT知识分享网。

  今天自己在家里做毕业设计,遇到了ORACLE数据库的一些问题,所以来总结一下。自己在上班的时候也遇到客户过提过这样的问题,当时自己在百度上查了,给客户解决完。自己也没有在意,这次又出现这个问题,又是折腾了一会。真不值,遇到过的问题一定要多去总结和回顾

(一)  ONE 

  第一种情况可能是因为你的SQL中列名写错了,导致查询的时候,报的标识符无效。

  或是数据库中没有这个列名,但是你的SQL语句中有这个字段。但是客户就出现了这个问题,我也很费解是什么原因导致数据库的列缺少了。当时我是直接用PL/SQL远程直接给客户添加了缺少的字段。

  我觉得这种情况应该是比较少见的。

 

(二)  TWO 

  我不知道大家用过NAVICAT没,我很是喜欢用这个工具。他除了很棒的UI界面外。还有很强大的功能。比如说将mysql的数据一键迁移到oracle中去,当然反方向也是可以的。

  第二种出现的情况就是。Oracle会将小写自动转换为大写。比如你数据库中的字段是小写,你查询的SQL语句也是小写,但是ORACLE 将你的查询语句转为了大写(ORACLE严格区分大小写这样去数据库中查找,它就找不到对应的字段。这样数据库就会报错。

 

  解决方案:

  将这段代码中的表名替换成自己要修改的表名,就可以把表中所有的小写字段名一下全部换为大写,很方便。

begin
for c in (select COLUMN_NAME cn from all_tab_columns where table_name='表名') loop
begin
execute immediate 'alter table 表名 rename column "'||c.cn||'" to '||c.cn;
exception
when others then
dbms_output.put_line('表名'||'.'||c.cn||'已经存在');
end;
end loop;
end;

 

附 ORACLE 对照表一张

ORACLE 之 标识符无效 问题总结及解决方案

 

 

综上所述,我们在使用ORACLE数据库的时候,无论是表的名字,还是表中的字段的名字,都要大写免去不必要的麻烦

 


 

 

          

            2019希望自己事事顺利,努力工作,幸福生活。

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30001.html

(0)
上一篇 2023-10-07 11:33
下一篇 2023-10-15 20:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信