有时我们在定义字段名及别名时所用名与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可以在\"关键字\"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好不要使用,以免引起代码编写过程中的错误。
本文地址:https://www.stayed.cn/item/6032
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我