有时我们在定义字段名及别名时所用名与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可以在"关键字"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好不要使用,以免引起代码编写过程中的错误。
您可能感兴趣的文章:- oracle删除表字段和oracle表增加字段
- oracle使用sql语句增加字段示例(sql删除字段语句)
- Oracle 插入超4000字节的CLOB字段的处理方法
- 深入浅析mybatis oracle BLOB类型字段保存与读取
- Oracle中判断字段是否为数字
- 简单三步轻松实现ORACLE字段自增
- oracle数据库中如何处理clob字段方法介绍
- Oracle 查询表信息获取表字段及字段注释
- java读写oracle的blob字段示例
- ORACLE中段的HEADER_BLOCK示例详析