Oracle基礎之保留字和關鍵字


Oracle基礎之保留字和關鍵字

在Oracle之中,有分為保留字和關鍵字,所謂關鍵字就是Oracle中有實際意義的,而保留字(比如DESC、ORDER等等)是Oracle中不能隨便使用的,比如不能隨便用來做表的列名,當然關鍵字(比如KEY等等)也是不推薦的,不過使用的話是不會報錯的,而保留字被使用不當的話是會報錯的

然后如何區分保留字和關鍵字?Oracle中可以通過查詢v$reserved_words表得知

查詢Oracle保留字SQL:

  SELECT * FROM v$reserved_words m WHERE m.RESERVED='Y'

我測試的是Oracle11.2版本,有100條記錄
在這里插入圖片描述
Oracle中的關鍵字就多了,Oracle11.2版本有1730條記錄,Oracle關鍵字查詢SQL:

    SELECT * FROM v$reserved_words m WHERE m.RESERVED='N';

在這里插入圖片描述

雖然Oracle官方是不推薦保留字和關鍵字來使用的,比如被用於做表的列名,不過還是會被使用,我就曾遇到過

比如表A有列(KEY(key值),DESC(描述)),這個就是一個很不規范的命名,其中KEY是Oracle的關鍵字,不推薦使用,但是還是不會報錯的,而DESC就是一個保留字了,使用的話是會報錯的

比如我insert一條數據:

insert into A(KEY,DESC) values('TEST_KEY','這是一個key值');

執行之后,是會報錯的,解決方法是針對保留字DESC加上雙引號

insert into A(KEY,"DESC") values('TEST_KEY','這是一個key值');

而在MySQL中也是有保留字和關鍵字的說法,不過解決方法是加上 ` 符號,比如

insert into A(`KEY`,`DESC`) values('TEST_KEY','這是一個key值');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM