oracle關(guān)鍵字作為字段名使用方法
更新時間:2012年11月30日 09:57:08 作者:
有時我們在定義字段名及別名時所用名與oracle關(guān)鍵字同名,這時該如何處理呢,本文將詳細介紹,需要了解的朋友可以參考下
有時我們在定義字段名及別名時所用名與oracle關(guān)鍵字同名,這時該如何處理呢?
其實很簡單,只要在此關(guān)鍵字加上"",如"group"
看下面的例子:
SQL> DROP TABLE k;
Table dropped
-- 建立表K,字段名為UID(oracle關(guān)鍵字)
SQL> CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-00904: : invalid IDENTIFIER
-- 字段名加""表創(chuàng)建成功
SQL> CREATE TABLE k("UID" INT);
Table created
--插入一些數(shù)據(jù)
SQL> INSERT INTO k VALUES(1);
1 row inserted
SQL> INSERT INTO k VALUES(2);
1 row inserted
SQL> INSERT INTO k VALUES(3);
1 row inserted
-- 查詢時加不加""都正常(似乎不太符合規(guī)范)
SQL> SELECT UID FROM k;
UID
----------
5
5
5
SQL> SELECT "UID" FROM k;
UID
---------------------------------------
1
2
3
-- update時必須加上""
SQL> UPDATE k SET UID=5 WHERE UID=3;
UPDATE k SET UID=5 WHERE UID=3
ORA-01747: invalid user.table.column, table.column, or column specification
SQL> UPDATE k SET "UID"=5 WHERE "UID"=3;
1 row UPDATED
總結(jié):oracle可以在"關(guān)鍵字"的形式引用關(guān)鍵字作為字段名與查詢語句的別名。如果不是特殊情況最好不要使用,以免引起代碼編寫過程中的錯誤。
其實很簡單,只要在此關(guān)鍵字加上"",如"group"
看下面的例子:
復(fù)制代碼 代碼如下:
SQL> DROP TABLE k;
Table dropped
-- 建立表K,字段名為UID(oracle關(guān)鍵字)
SQL> CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-00904: : invalid IDENTIFIER
-- 字段名加""表創(chuàng)建成功
SQL> CREATE TABLE k("UID" INT);
Table created
--插入一些數(shù)據(jù)
SQL> INSERT INTO k VALUES(1);
1 row inserted
SQL> INSERT INTO k VALUES(2);
1 row inserted
SQL> INSERT INTO k VALUES(3);
1 row inserted
-- 查詢時加不加""都正常(似乎不太符合規(guī)范)
SQL> SELECT UID FROM k;
UID
----------
5
5
5
SQL> SELECT "UID" FROM k;
UID
---------------------------------------
1
2
3
-- update時必須加上""
SQL> UPDATE k SET UID=5 WHERE UID=3;
UPDATE k SET UID=5 WHERE UID=3
ORA-01747: invalid user.table.column, table.column, or column specification
SQL> UPDATE k SET "UID"=5 WHERE "UID"=3;
1 row UPDATED
總結(jié):oracle可以在"關(guān)鍵字"的形式引用關(guān)鍵字作為字段名與查詢語句的別名。如果不是特殊情況最好不要使用,以免引起代碼編寫過程中的錯誤。
相關(guān)文章
Oracle連接數(shù)據(jù)庫提示ORA-12638:身份證明檢索失敗的解決辦法
今天在使用應(yīng)用程序連接Oracle時碰到了"ORA-12638:身份證明檢索失敗"錯誤,給大家總結(jié)解決方法,這篇文章主要給大家介紹了關(guān)于Oracle連接數(shù)據(jù)庫提示ORA-12638:身份證明檢索失敗的解決辦法,需要的朋友可以參考下2023-10-10關(guān)于oracle中clob字段查詢慢的問題及解決方法
最近在用oracle的過程中用到了對blob字段模糊查詢的問題。接下來通過本文給大家分享關(guān)于oracle中clob字段查詢慢的問題及解決方法,需要的的朋友參考下吧2017-02-02Oracle數(shù)據(jù)庫刪除表空間后磁盤空間不釋放的問題及解決
這篇文章主要介紹了Oracle數(shù)據(jù)庫刪除表空間后磁盤空間不釋放的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Linux中Oracle啟動偵聽報錯TNS:permission denied的解決方法
這篇文章主要介紹了Linux中Oracle啟動偵聽時報錯TNS:permission denied的解決方法,文中給出了詳細的解決方法,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02oracle 視圖權(quán)限 oracle 創(chuàng)建視圖權(quán)限不足
在scott用戶下創(chuàng)建視圖的時候,報錯:權(quán)限不足,遇到這個問題,我也是束手無策,于是網(wǎng)上搜集整理了一下,曬出來和大家分享,希望可以幫助你們2012-11-11