表设计避免使用保留字
表设计避免使用保留字
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