oracle中select时关于字段或表名是否加索引

今天接手一个新项目,是使用oracle数据库的.一开始没什么,但是在使用查询数据时,出现了问题.

select username from USER

当我使用这条sql语句时,出现了 ORA-00904: “USERNAME”: invalid identifier错误.

一开始,我没搞明白是怎么回事,因为我在此之前使用

select account from EMPLOYEEFORECOLOGY 

来查询时,是能够正常查询的.

后来经过一番查看,我发现问题出在表字段上,由于表是别人建的,我没有仔细看过.直到这个问题发生,我才看到原来USER表中的字段名是小写的,而EMPLOYEEFORECOLOGY 表中的字段名是大写的.

而oracle在查询时,会将查询字段变成大写的,结果就是USER中没有大写的USERNAME字段,只有小写的username字段,所以查询不到.而EMPLOYEEFORECOLOGY 中的字段都是大写的,自然是能够查询到ACCOUNT字段.

最后的解决办法,在username上加引号

select "username" from USER

当然,如果表名是小写的话,也要加引号,否则也会报错.

之所以会发生这种情况,大致上是因为在建表时不是用sql语句建表,而是用的可视化工具的建表功能建的表.或者其它.在此还是希望大家在建表时表名和字段名还是全部大写.不要一些小写,一些大写的.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值