异常处理:Oracle表字段里有关键字出现异常解决方案

一、问题由来

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

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

二、问题分析

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

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

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

三、解决方案

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

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

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

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

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

一、问题由来

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

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

二、问题分析

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

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

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

三、解决方案

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

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

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

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

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

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


数据运维技术 » 异常处理:Oracle表字段里有关键字出现异常解决方案