一、问题由来

现在进行项目改造,数据库需要迁移,由原来的使用GBase数据库改为使用Oracle数据库,今天测试人员在测试时后台报了一个异常。

Oracle表字段有Oracle关键字出现异常解决方案

把SQL语句单独复制出来进行查询,还是报错,仔细分析原因才知道是表中的字段使用了Oracle中的关键字size。

二、问题分析

项目中使用的Oracle版本如下:

Oracle表字段有Oracle关键字出现异常解决方案

一般来说建表的时候是不会使用关键字的,可是之前的开发人员或者是数据库运维人员可能为了偷懒吧,在那张表中使用四个Oracle中的关键字,

所以导致查询的时候出现异常。

三、解决方案

找到问题的原因后,问题就好解决了。询问了一下开发的同事有没有好的解决办法,有个同事说这种情况可是在查询的列中使用双引号

将需要查询的字段包起来试一下。我立马去尝试,简单查询时确实可行,可是使用分组查询查询后立马报错。下面是查询语句:

Oracle表字段有Oracle关键字出现异常解决方案

所以使用双引号的方案被否定了,因为不管使用或者是不使用双引号将关键字包起来,group by 后面都不能跟Oracle的关键字。除了这个问题外,

在新增数据的时候,也是出现各种问题,按照常规的方式不能正常插入,只能按照如下的方式进行插入,在新增时表后面不跟列名:

Oracle表字段有Oracle关键字出现异常解决方案

衡量利弊后,发现表中字段使用关键字这种方式非常不可取,还是改列名这个方法最靠谱。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。