有時我們在定義字段名及別名時所用名與oracle關鍵字同名,這時該如何處理呢?
其實很簡單,只要在此關鍵字加上"",如"group"
SQL> DROP TABLE k; Table dropped -- 建立表K,字段名為UID(oracle關鍵字) SQL> CREATE TABLE k(UID INT); CREATE TABLE k(UID INT) ORA-00904: : invalid IDENTIFIER -- 字段名加""表創建成功 SQL> CREATE TABLE k("UID" INT); Table created --插入一些數據 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 -- 查詢時加不加""都正常(似乎不太符合規范) 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
總結:oracle可以在"關鍵字"的形式引用關鍵字作為字段名與查詢語句的別名。如果不是特殊情況最好不要使用,以免引起代碼編寫過程中的錯誤。
