怎样将oracle关键字作为字段名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样将oracle关键字作为字段名相关的知识,希望对你有一定的参考价值。

参考技术A 看下面的例子:
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 --本回答被提问者和网友采纳

以上是关于怎样将oracle关键字作为字段名的主要内容,如果未能解决你的问题,请参考以下文章

oracle关键字作为字段名使用方法

如何从具有字段名称作为默认关键字的 Oracle 表中选择值

【MySQL】字段名与关键字冲突解决办法

oracle 区别大小写吗

oracle 实现多字段匹配一个关键字查询语句

oracle数据库区分大小写吗?