如何将Oracle关键字作为表字段名,有何坏处?

时间:2026-02-15 03:07:52

1、假如我们执行如下语句

create table T_EXAMPLE_01 (SIZE int);

这个SQL语句中的字段名SIZE为Oracle关键字,直接执行时会报出如下错误

如何将Oracle关键字作为表字段名,有何坏处?

2、同理,如果我们执行如下语句:

create table SIZE(book int);

执行时会报出错误:ORA-00903:invalid table name

如何将Oracle关键字作为表字段名,有何坏处?

3、如果一定要使用Oracle关键字作为表名或字段名,我们可以通过在关键字上加双引号来规避,如

create table T_EXAMPLE_01 ("SIZE" int);

create table "SIZE" (book int);

如何将Oracle关键字作为表字段名,有何坏处?

如何将Oracle关键字作为表字段名,有何坏处?

4、那么问题来了,如何知道自己用的字段名或表名是Oracle中的关键字呢?

当然如果我们用的是PL/SQL来编辑SQL语句,是可以通过字体颜色来区分的,Oracle的关键字会用彩色字体标识。

如何将Oracle关键字作为表字段名,有何坏处?

5、如果不用PL/SQL编辑SQL的话,就需要知道有哪些关键字了,可以通过命令select * from v$reserved_words where reserved='Y'来查询,如下图所示可以看到UNIQUE、SHARE、REVOKE等都是保留字

如何将Oracle关键字作为表字段名,有何坏处?

1、在所有用到关键字的地方如果不加双引号就会报出错误,如果很多SQL中用到了关键字,那么修改起来就非常麻烦了。

如何将Oracle关键字作为表字段名,有何坏处?

2、如果Sql中用到了关键字用为字段名或表名等,很容易给SQL造成混淆,最后定位问题也会麻烦。

如何将Oracle关键字作为表字段名,有何坏处?

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com