oracle之标识符无效问题总结及解决方案(代码片段)

caiyt caiyt     2022-11-29     421

关键词:

  今天自己在家里做毕业设计,遇到了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数据库的时候,无论是表的名字,还是表中的字段的名字,都要大写免去不必要的麻烦

原文地址:https://www.cnblogs.com/misscai/p/10350840.html

java技术篇-连接oracle数据库执行sql使用close()关闭createstatement()无效无法清除游标缓存问题解决,报“ora-01000:超出打开游标的最大数“错误解决方法(代码片

...在一个大数据量的嵌套循环下close()关闭createStatement()根本无效,即使把执行过程封装在类里,而用循环来调用类也会有问题。原因:close()后游标里缓存的资源并不会被释放,而是返回给数据库连接池,直到退... 查看详情

Oracle SQL 创建视图无效标识符

】OracleSQL创建视图无效标识符【英文标题】:OracleSQLCreateViewinvalididentifier【发布时间】:2013-04-2419:32:57【问题描述】:我需要创建一个视图,我基本上必须在其中组合三个表才能查看上次验证联系人的时间。这是我到目前为止的... 查看详情

python调用oracle函数ORA-00904无效标识符

】python调用oracle函数ORA-00904无效标识符【英文标题】:pythoncallingoraclefunctionORA-00904invalididentifier【发布时间】:2015-06-1621:34:21【问题描述】:我正在编写一些Python代码来调用Oracle服务器上的函数。这是查询字符串,直接从PyDev复... 查看详情

Oracle 无效标识符错误

】Oracle无效标识符错误【英文标题】:OracleInvalidIdentifierError【发布时间】:2015-05-1719:23:47【问题描述】:我知道以前有人问过这个问题,但我查看了其他问题,但我的查询仍然无效。我有一张包含过去100年左右的MLB击球统计数... 查看详情

linux——linux驱动之设备树基本概述及语法总结(为什么会出现设备树,设备树解决了什么问题?)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《QT开发实战》《嵌入式通用开发实战》《 查看详情

linux——linux驱动之设备树基本概述及语法总结(为什么会出现设备树,设备树解决了什么问题?)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《QT开发实战》《嵌入式通用开发实战》《 查看详情

Oracle 存储过程问题 - IN 和 OUT 变量是无效标识符 [关闭]

】Oracle存储过程问题-IN和OUT变量是无效标识符[关闭]【英文标题】:OracleStoredProcedureIssue-INandOUTvariablesareinvalididentifier[closed]【发布时间】:2014-09-2809:25:57【问题描述】:我正在尝试在Oracle中创建存储过程,当我运行命令SQL>startg... 查看详情

android点击无效问题总结

概述近期碰到比较坑的点击无效的问题,尝试了多种解决方案,最终解决。于是,趁热打铁,做个问题与解决方案的总结,期望能对你有所帮助。点击无效的原因View没有设置点击事件View被其他View遮盖父View拦截了... 查看详情

工作总结之服务器时间不同步导致平台验证失败及linux系统时间同步方法(代码片段)

...登录系统,临近下班无奈只能吃过晚饭后回工位排查问题,一直排查到20:30多无法查出问题根源。需求恢复正常访问解决1.查看日志报错org.springframework.security.authentication.InsufficientAuthent 查看详情

Oracle,无效标识符错误

】Oracle,无效标识符错误【英文标题】:Oracle,invalididentifiererror【发布时间】:2012-11-2817:25:59【问题描述】:我有这个查询应该:创建一个标识库存中不同项目的列表每个选项可用的颜色数量表但我收到一条错误消息:命令行错... 查看详情

遇到的问题之“前端html中div设置边框border属性无效,解决方案”

一、问题二、解决方案这里是漏了border-style属性,少了这个属性就不会显示边框了,加上就有边框了,这里是建议三个属性都要有完整#边距样式border-style:inset;#边距颜色border-color:red;#边距宽度border-width:10px;*博客文章部分截图及... 查看详情

Oracle 日期比较(无效标识符)

】Oracle日期比较(无效标识符)【英文标题】:Oracledatecompare(invalididentifier)【发布时间】:2011-05-2711:54:44【问题描述】:我有这个问题:SELECTTO_CHAR(HON.CREATE_DT,\'DD-MM-YYYY\')asCREATE_DT,HON.ACCOUNT_NO,(SELECTTO_CHAR(CURRENT_DATE-INTERVAL\'7\'DAY,\'DD- 查看详情

oracle查看无效标识符

】oracle查看无效标识符【英文标题】:Oracleviewinvalididentifier【发布时间】:2015-04-2223:02:40【问题描述】:我必须执行创建一个视图,显示数据库中每部电影的总租金收入原来如此CREATEORREPLACEVIEWMovieIncomeASSELECTs.movie_copy_id,SUM(S.PRICE)... 查看详情

更新时标识符无效 (Oracle)

】更新时标识符无效(Oracle)【英文标题】:InvalidIdentifieronUpdate(Oracle)【发布时间】:2015-10-1316:48:39【问题描述】:我尝试执行以下命令:UPDATEDB_TEST.STOCK_ITEMSSETSTATUS=(SELECT*FROM(SELECTSTOCK_ITEM_STATUSFROMDB_TEST.STOCK_ITEMS_HISTORYWHERESTOCK_ITEM_ID= 查看详情

Oracle 11g 无效标识符错误

】Oracle11g无效标识符错误【英文标题】:Oracle11ginvalididentifiererror【发布时间】:2012-09-1012:51:28【问题描述】:此查询适用于OracleDatabase10gEnterpriseEditionRelease10.2.0.2.0-64bi但不是OracleDatabase11g版本11.2.0.1.0-64位生产select*frominb_dosya_turudo... 查看详情

keil软件错误总结.doc

...息错误释义error1:Outofmemory内存溢出error2:Identifierexpected缺标识符error3:Unknownidentifier未定义的标识符error4:Duplicateidentifier重复定义的标识符error5:Syntaxerror语法错误error6:Errorinrealconstant实型常量错误error7:Errorinintegerconstant整型常量错误er... 查看详情

为啥我会收到:[Oracle][ODBC][Ora]ORA-00904:标识符无效

】为啥我会收到:[Oracle][ODBC][Ora]ORA-00904:标识符无效【英文标题】:WhyamIgetting:[Oracle][ODBC][Ora]ORA-00904:invalididentifier为什么我会收到:[Oracle][ODBC][Ora]ORA-00904:标识符无效【发布时间】:2011-04-1716:26:14【问题描述】:当我清楚地识... 查看详情

[springboot项目]问题及解决总结(代码片段)

问题:MySQL8.0版本连接报错:Couldnotcreateconnectiontodatabaseserver原因MySQL8.0版本需要更换驱动为“com.mysql.cj.jdbc.Driver”,之前的“com.mysql.jdbc.Driver”已经不能在MySQL8.0版本使用了,官方文档链接:https://dev.mysql.com/doc/connector-j/8.0/en 查看详情