如何将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关键字作为表字段名,有何坏处?

  • IntelliJ IDEA怎么代码编辑器上下显示两个窗口
  • myeclipse重启时报 A configuration error ...
  • 怎么解决Xshell中文乱码
  • java将对象转为utf8字符串
  • 如何进入JAVA的控制面板?
  • 热门搜索
    中国梦手抄报 绿色校园手抄报 童话手抄报 中国梦手抄报图片 放飞梦想手抄报 小学手抄报 森林草原防火手抄报 从小学先锋长大做先锋手抄报 关于元旦的手抄报 艾滋病手抄报