日期:2014-05-16 浏览次数:20459 次
v$reserved_words中记录的都是关键字和保留字,reserved字段内容是Y表示这个保留字在标识符中使用。对于reserved为N的关键字,也可能会触发Oracle的bug,所以避免使用是最好的选择。下面来做个试验,创建时会报错,要想创建成功,需要加双引号。
SQL> select * from v$reserved_words wherekeyword='SIZE';
KEYWORD LENGTH RESERVED RES_TYPE RES_ATTR RES_SEMI DUPLICATE
-------- ---------------- -------- -------- ---------- ----------
SIZE 4 Y N N N N
SQL> createtable test(id number,size number);
create tabletest(id number,size number)
*
第 1 行出现错误:
ORA-00904: : 标识符无效
SQL> createtable test(id number,"size" number);
表已创建。
SQL> insertinto test values(1,1);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select *from test;
ID size
--------------------
1 1
SQL> selectsize from test;
select size fromtest
*
第 1 行出现错误:
ORA-00936: 缺失表达式
SQL> select"size" from test;
size
----------
1