一、問題由來
現在進行項目改造,數據庫需要遷移,由原來的使用GBase數據庫改為使用Oracle數據庫,今天測試人員在測試時后臺報了一個異常。

把SQL語句單獨復制出來進行查詢,還是報錯,仔細分析原因才知道是表中的字段使用了Oracle中的關鍵字size。
二、問題分析
項目中使用的Oracle版本如下:

一般來說建表的時候是不會使用關鍵字的,可是之前的開發人員或者是數據庫運維人員可能為了偷懶吧,在那張表中使用四個Oracle中的關鍵字,
所以導致查詢的時候出現異常。
三、解決方案
找到問題的原因后,問題就好解決了。詢問了一下開發的同事有沒有好的解決辦法,有個同事說這種情況可是在查詢的列中使用雙引號
將需要查詢的字段包起來試一下。我立馬去嘗試,簡單查詢時確實可行,可是使用分組查詢查詢后立馬報錯。下面是查詢語句:

所以使用雙引號的方案被否定了,因為不管使用或者是不使用雙引號將關鍵字包起來,group by 后面都不能跟Oracle的關鍵字。除了這個問題外,
在新增數據的時候,也是出現各種問題,按照常規的方式不能正常插入,只能按照如下的方式進行插入,在新增時表后面不跟列名:

衡量利弊后,發現表中字段使用關鍵字這種方式非常不可取,還是改列名這個方法最靠譜。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 使用SQL語句查詢MySQL,SQLServer,Oracle所有數據庫名和表名,字段名
- Oracle數據庫表中字段順序的修改方法
- Oracle表字段的增刪改、表的重命名及主鍵的增刪改
- Oracle刪除表、字段之前判斷表、字段是否存在
- oracle獲取當前用戶表、字段等詳細信息SQL
- oracle刪除表字段和oracle表增加字段
- 在oracle 數據庫查詢的select 查詢字段中關聯其他表的方法