
SELECT du.username, du.user_id
FROM dba_users du
看下面的例子: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
-- 查询时加不加""都正常(似乎不太符合规范,UID 可能是比较特殊的关键字???)
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
总结:
1. oracle可以在"关键字"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好
不要使用,以免引起代码编写过程中的错误。
2. 加了""的关键字必须大写。(补充)
-- The End --
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)