Oracle表字段有Oracle關(guān)鍵字出現(xiàn)異常解決方案
一、問題由來
現(xiàn)在進行項目改造,數(shù)據(jù)庫需要遷移,由原來的使用GBase數(shù)據(jù)庫改為使用Oracle數(shù)據(jù)庫,今天測試人員在測試時后臺報了一個異常。
把SQL語句單獨復(fù)制出來進行查詢,還是報錯,仔細(xì)分析原因才知道是表中的字段使用了Oracle中的關(guān)鍵字size。
二、問題分析
項目中使用的Oracle版本如下:
一般來說建表的時候是不會使用關(guān)鍵字的,可是之前的開發(fā)人員或者是數(shù)據(jù)庫運維人員可能為了偷懶吧,在那張表中使用四個Oracle中的關(guān)鍵字,
所以導(dǎo)致查詢的時候出現(xiàn)異常。
三、解決方案
找到問題的原因后,問題就好解決了。詢問了一下開發(fā)的同事有沒有好的解決辦法,有個同事說這種情況可是在查詢的列中使用雙引號
將需要查詢的字段包起來試一下。我立馬去嘗試,簡單查詢時確實可行,可是使用分組查詢查詢后立馬報錯。下面是查詢語句:
所以使用雙引號的方案被否定了,因為不管使用或者是不使用雙引號將關(guān)鍵字包起來,group by 后面都不能跟Oracle的關(guān)鍵字。除了這個問題外,
在新增數(shù)據(jù)的時候,也是出現(xiàn)各種問題,按照常規(guī)的方式不能正常插入,只能按照如下的方式進行插入,在新增時表后面不跟列名:
衡量利弊后,發(fā)現(xiàn)表中字段使用關(guān)鍵字這種方式非常不可取,還是改列名這個方法最靠譜。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Windows系統(tǒng)下Oracle?12c安裝保姆級圖文教程詳解
這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Oracle?12c安裝保姆級圖文教程的相關(guān)資料,Oracle數(shù)據(jù)庫12c的安裝是一個復(fù)雜的過程,但通過正確的安裝前置條件的準(zhǔn)備,精心的安裝過程確實可以讓Oracle?12c穩(wěn)定、高效地運行在各類操作系統(tǒng)中,需要的朋友可以參考下2023-09-09Oracle服務(wù)端1521端口無法telnet,服務(wù)名未開啟監(jiān)聽的解決
這篇文章主要介紹了Oracle服務(wù)端1521端口無法telnet,服務(wù)名未開啟監(jiān)聽的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12SQL優(yōu)化之針對count、表的連接順序、條件順序、in及exist的優(yōu)化
這篇文章主要介紹了SQL優(yōu)化之針對count、表的連接順序、條件順序、in及exist的優(yōu)化,有助于讀者深入理解Oracle的運行效率及優(yōu)化策略,需要的朋友可以參考下2014-07-07支持在線寫SQL的Oracle學(xué)習(xí)免費網(wǎng)站推薦!(個人常使用)
為了便于在線練習(xí),我們常常需要一個在線運行SQL的功能,下面這篇文章主要給大家推薦介紹了一個支持在線寫SQL的Oracle學(xué)習(xí)免費網(wǎng)站(個人常使用),需要的朋友可以參考下2022-12-12將mysql轉(zhuǎn)換到oracle必須了解的50件事
我其實是同一天看到Robert Treat幾人整理的”Mysql 遷移到Oracle前需要了解的50件事“與Baron Schwartz的”O(jiān)racle遷移到Mysql之前需要了解的50件事“的,只是Baron Schwartz的這個列表可能對大家更加有用處,也就先將其整出來了.2010-06-06Oracle中XML插入數(shù)據(jù)時的空格問題解決方案
在使用 foreach 或其他循環(huán)結(jié)構(gòu)時,插入數(shù)據(jù)庫的數(shù)據(jù)前后可能會出現(xiàn)不必要的空格,這種額外的空格可能會導(dǎo)致數(shù)據(jù)不一致,影響查詢結(jié)果,甚至導(dǎo)致應(yīng)用程序的錯誤,本文將為您提供一些常見的解決方法和建議,需要的朋友參考下吧2023-08-08