专注Java教育13年 全国咨询/投诉热线:400-8080-105
首页 hot资讯 Oracle标识符无效的原因及解决方法

Oracle标识符无效的原因及解决方法

更新时间:2022-08-05 09:39:21 来源:动力节点 浏览43次

Oracle标识符无效的原因有哪些呢?

第一种情况:

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

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

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

不知道大家用过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教程,里面有更丰富的知识等着大家去学习,相信对大家一定会有所帮助的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>
返回顶部