[Java Idea] 关于在navicat(等外部工具?)创建表,JDBC使用时提示“ORA-00942: 表或视图不存在”的解决方案

使用Navicat新建Oracle表UserDetail,查询时提示“表或视图不存在”,sqlplus和PL SQL Developer也有同样提示。原因是外部工具建表默认加双引号,且表名区分大小写。解决办法是使用表名和列名时注意添加双引号并区分大小写,实践后问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图:

在Navicat新建了表UserDetail,但是查询时提示”表或视图不存在“,并且无论使用sqlplus还是PL SQL Developer均提示”表或视图不存在“。

 

解决方案:

经过查询了解到,外部工具在创建Oracle表时会默认添加双引号(""),所以我们在使用第三方工具直接建表时,建立成功的表的名字其实是添加了双引号的,所以我们在使用时也需要格外注意添加双引号。即:

之后再进行尝试,发现仍然报相同的错误:

经过进一步查证,其实并不是解决方法有误,而是工具建表还有一个隐藏的属性,即表名区分大小写。

进一步修改:

 

运行结果:

成功。

另外需要提出的一点是,当我们使用表的列名时,仍然要注意添加双引号和大小写。

题外话

或许Navicat已经给了我们区分大小写的提示?

Navicat建的表表名显示都是能显示小写字母的,而使用sql语言建的表表名智能显示全大写,这或许就已经告诉我们这一特性了吧。

目前DataGrip经实践未见有该问题,其他工具不知是否如此,有待观察。

 2018.8.28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值