首页  ·  知识 ·  数据库
在建立视图的别名时绝对不要使用双引号
heyixiang的专栏  http://blog.csdn.net/heyixiang  Oracle  编辑:dezai  图片来源:网络
创建视图中的别名: 在内部,oracle将所有的别名和表名处理为大写。这些列名和表名在数据字典中就是以大写的形式存储的,

创建视图中的别名:

     在内部,oracle将所有的别名和表名处理为大写。这些列名和表名在数据字典中就是以大写的形式存储的,而且oracle也希望它们是大写。在输入别名建立一个视图时,别名不应该用引号括起来。给别名加双引号会使oracle内部存储的列名变为大小写混合,如果这样做,除非在所有查询中给列名加上双引号,否则执行select时oracle将找不到列名。

    在建立视图的别名时绝对不要使用双引号。

 

SQL> select * from dual;

DUMMY
-----
X

SQL> --创建测试视图
SQL> create view v_test as
  2  select dummy "NewName" from dual;

View created

SQL> select * from v_test;

NewName
-------
X

SQL> --可以看到如果新建视图中别名用大小写混合后并且使用引号,查询出来的结果列名就是大小写混合的。
SQL> --如果指定查询列的时候字段没有用引号括起来,就会提示找不到列。
SQL> select newname from v_test;

select newname from v_test

ORA-00904: 无效列名

SQL> select NewName from v_test;

select NewName from v_test

ORA-00904: 无效列名

SQL> select "NewName" from v_test;

NewName
-------
X

SQL> --所以在创建视图的时候最好不要把别名用引号括起来。
SQL> --删除测试视图
SQL> drop view v_test;

View dropped

SQL>


本文作者:heyixiang的专栏 来源:http://blog.csdn.net/heyixiang
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读