Oracle表字段有Oracle关键字出现异常解决方案
一、问题由来
现在进行项目改造,数据库需要迁移,由原来的使用GBase数据库改为使用Oracle数据库,今天测试人员在测试时后台报了一个异常。
把SQL语句单独复制出来进行查询,还是报错,仔细分析原因才知道是表中的字段使用了Oracle中的关键字size。
二、问题分析
项目中使用的Oracle版本如下:
一般来说建表的时候是不会使用关键字的,可是之前的开发人员或者是数据库运维人员可能为了偷懒吧,在那张表中使用四个Oracle中的关键字,
所以导致查询的时候出现异常。
三、解决方案
找到问题的原因后,问题就好解决了。询问了一下开发的同事有没有好的解决办法,有个同事说这种情况可是在查询的列中使用双引号
将需要查询的字段包起来试一下。我立马去尝试,简单查询时确实可行,可是使用分组查询查询后立马报错。下面是查询语句:
所以使用双引号的方案被否定了,因为不管使用或者是不使用双引号将关键字包起来,group by 后面都不能跟Oracle的关键字。除了这个问题外,
在新增数据的时候,也是出现各种问题,按照常规的方式不能正常插入,只能按照如下的方式进行插入,在新增时表后面不跟列名:
衡量利弊后,发现表中字段使用关键字这种方式非常不可取,还是改列名这个方法最靠谱。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Windows系统下Oracle 12c安装保姆级图文教程详解
这篇文章主要给大家介绍了关于Windows系统下Oracle 12c安装保姆级图文教程的相关资料,Oracle数据库12c的安装是一个复杂的过程,但通过正确的安装前置条件的准备,精心的安装过程确实可以让Oracle 12c稳定、高效地运行在各类操作系统中,需要的朋友可以参考下2023-09-09Oracle服务端1521端口无法telnet,服务名未开启监听的解决
这篇文章主要介绍了Oracle服务端1521端口无法telnet,服务名未开启监听的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12SQL优化之针对count、表的连接顺序、条件顺序、in及exist的优化
这篇文章主要介绍了SQL优化之针对count、表的连接顺序、条件顺序、in及exist的优化,有助于读者深入理解Oracle的运行效率及优化策略,需要的朋友可以参考下2014-07-07支持在线写SQL的Oracle学习免费网站推荐!(个人常使用)
为了便于在线练习,我们常常需要一个在线运行SQL的功能,下面这篇文章主要给大家推荐介绍了一个支持在线写SQL的Oracle学习免费网站(个人常使用),需要的朋友可以参考下2022-12-12
最新评论