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

创建视图中的别名:

     在内部,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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值