Oracle表字段有Oracle關(guān)鍵字出現(xiàn)異常解決方案
一、問(wèn)題由來(lái)
現(xiàn)在進(jìn)行項(xiàng)目改造,數(shù)據(jù)庫(kù)需要遷移,由原來(lái)的使用GBase數(shù)據(jù)庫(kù)改為使用Oracle數(shù)據(jù)庫(kù),今天測(cè)試人員在測(cè)試時(shí)后臺(tái)報(bào)了一個(gè)異常。

把SQL語(yǔ)句單獨(dú)復(fù)制出來(lái)進(jìn)行查詢,還是報(bào)錯(cuò),仔細(xì)分析原因才知道是表中的字段使用了Oracle中的關(guān)鍵字size。
二、問(wèn)題分析
項(xiàng)目中使用的Oracle版本如下:

一般來(lái)說(shuō)建表的時(shí)候是不會(huì)使用關(guān)鍵字的,可是之前的開(kāi)發(fā)人員或者是數(shù)據(jù)庫(kù)運(yùn)維人員可能為了偷懶吧,在那張表中使用四個(gè)Oracle中的關(guān)鍵字,
所以導(dǎo)致查詢的時(shí)候出現(xiàn)異常。
三、解決方案
找到問(wèn)題的原因后,問(wèn)題就好解決了。詢問(wèn)了一下開(kāi)發(fā)的同事有沒(méi)有好的解決辦法,有個(gè)同事說(shuō)這種情況可是在查詢的列中使用雙引號(hào)
將需要查詢的字段包起來(lái)試一下。我立馬去嘗試,簡(jiǎn)單查詢時(shí)確實(shí)可行,可是使用分組查詢查詢后立馬報(bào)錯(cuò)。下面是查詢語(yǔ)句:

所以使用雙引號(hào)的方案被否定了,因?yàn)椴还苁褂没蛘呤遣皇褂秒p引號(hào)將關(guān)鍵字包起來(lái),group by 后面都不能跟Oracle的關(guān)鍵字。除了這個(gè)問(wèn)題外,
在新增數(shù)據(jù)的時(shí)候,也是出現(xiàn)各種問(wèn)題,按照常規(guī)的方式不能正常插入,只能按照如下的方式進(jìn)行插入,在新增時(shí)表后面不跟列名:

衡量利弊后,發(fā)現(xiàn)表中字段使用關(guān)鍵字這種方式非常不可取,還是改列名這個(gè)方法最靠譜。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle查詢優(yōu)化之高效實(shí)現(xiàn)僅查詢前10條記錄的方法與實(shí)踐
這篇文章主要介紹了Oracle查詢優(yōu)化之高效實(shí)現(xiàn)僅查詢前10條記錄的相關(guān)資料,包括使用ROWNUM、ROW_NUMBER()函數(shù)、FETCH?FIRST(適用于Oracle12c及以上版本)以及LIMIT風(fēng)格(僅適用于兼容模式),需要的朋友可以參考下2025-01-01
QT連接Oracle數(shù)據(jù)庫(kù)并實(shí)現(xiàn)登錄驗(yàn)證的操作步驟
這篇文章主要介紹了QT連接Oracle數(shù)據(jù)庫(kù)并實(shí)現(xiàn)登錄驗(yàn)證的操作步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
oracle閃回技術(shù)詳解(閃回表、閃回?cái)?shù)據(jù))
這篇文章主要給大家介紹了關(guān)于oracle閃回技術(shù)(閃回表、閃回?cái)?shù)據(jù))的相關(guān)資料,Oracle數(shù)據(jù)庫(kù)的閃回技術(shù)是一種高級(jí)的數(shù)據(jù)恢復(fù)技術(shù),它可以幫助用戶快速、精確地恢復(fù)誤刪除或誤修改的數(shù)據(jù),而無(wú)需進(jìn)行數(shù)據(jù)恢復(fù)或恢復(fù)備份,需要的朋友可以參考下2023-11-11
oracle sql語(yǔ)言模糊查詢--通配符like的使用教程詳解
這篇文章主要介紹了oracle sql語(yǔ)言模糊查詢--通配符like的使用教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-04-04
oracle join on 數(shù)據(jù)過(guò)濾問(wèn)題
因?yàn)樵贔OR .. IN () LOOP 游標(biāo)中使用 所以不能采用下面的查詢語(yǔ)句做游標(biāo)2009-07-07
淺談oracle rac和分布式數(shù)據(jù)庫(kù)的區(qū)別
這篇文章主要介紹了oracle rac和分布式數(shù)據(jù)庫(kù)的區(qū)別的相關(guān)內(nèi)容,小編覺(jué)得挺不錯(cuò)的,這里給大家分享下,需要的朋友可以參考。2017-10-10
Linux下啟動(dòng)Oracle服務(wù)和監(jiān)聽(tīng)程序步驟
這篇文章給大家介紹了Linux下啟動(dòng)Oracle服務(wù)和監(jiān)聽(tīng)程序步驟,在文章末尾給大家介紹了Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉方式小結(jié),感興趣的朋友一起看看吧2017-08-08
深入淺析Oracle數(shù)據(jù)庫(kù)管理之創(chuàng)建和刪除數(shù)據(jù)庫(kù)
本篇文章給大家介紹oracle數(shù)據(jù)庫(kù)管理之創(chuàng)建和刪除數(shù)據(jù)庫(kù),本文從數(shù)據(jù)庫(kù)管理概述、數(shù)據(jù)庫(kù)管理方法、數(shù)據(jù)庫(kù)的準(zhǔn)則、使用dbca創(chuàng)建數(shù)據(jù)庫(kù)、使用dbca刪除數(shù)據(jù)庫(kù)等五大方面展開(kāi)話題,需要的朋友一起學(xué)習(xí)吧2015-10-10

