一、问题由来
现在进行项目改造,数据库需要迁移,由原来的使用GBase数据库改为使用Oracle数据库,今天测试人员在测试时后台报了一个异常。
把SQL语句单独复制出来进行查询,还是报错,仔细分析原因才知道是表中的字段使用了Oracle中的关键字size。
二、问题分析
项目中使用的Oracle版本如下:
一般来说建表的时候是不会使用关键字的,可是之前的开发人员或者是数据库运维人员可能为了偷懒吧,在那张表中使用四个Oracle中的关键字,
所以导致查询的时候出现异常。
三、解决方案
找到问题的原因后,问题就好解决了。询问了一下开发的同事有没有好的解决办法,有个同事说这种情况可以在查询的列中使用双引号
将需要查询的字段包起来试一试。我马上进行测试,简单查询时确实可行,可是使用分组查询查询后立马报错。下面是查询语句:
所以使用双引号的方案被否定,因为不管使用或者是不使用双引号将关键字包起来,group by 后面都不能跟Oracle的关键字。除了这个问题外在
新增数据的时候,也是出现各种问题,按照常规的方式不能正常插入,只能按照如下的方式进行插入,在新增时表后面不跟列名:
衡量各种利弊后,发现表中字段使用关键字这种方式非常不可取,还是修改列名这个方法最靠谱。Oracle中关键字可以参考
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/17408.html