在建表时,一般都不允许使用oracle关键字作为表名,或者列明,否则在后面对表执行数据操作时,会出现sql语法错误的提示。
比如关键字 number(一般喜欢用这个单词表示数量),desc (一般喜欢用这个单词作为描述,简介等),但在oracle中,这两个都是关键字。number表示数字类型,desc表示倒序排序。
如果想用这两个单词作为列明如何处理?只要给这两个关键字加上双引号("")就可以了,如下:
create table t_test(
"number" number,
"desc" varchar2(2000)
);
接下来看看下面这个查询语句
select number,desc from t_test;
好像没什么问题,但是却执行不了,提示“缺失表达式”,为什么会这样?
仍然是因为语句中列明为关键字,所以语法解析错误,处理方式跟上面建表一样,加上双引号,如下就可以了
select "number","desc" from t_test;
总结,从上面的处理方式可以看出,虽然有办法解决使用关键字作为列明,甚至是表名,但是在实际使用过程中,却会带来不少麻烦,所以,最后的结论是,建表最好不要使用关键字作为列明。
PS: 自己遇上了,MARK一下