首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我有ORA-00904,即使有列存在?

为什么我有ORA-00904,即使有列存在?
EN

Stack Overflow用户
提问于 2011-04-20 05:17:54
回答 14查看 180.8K关注 0票数 35

我在执行hibernate sql查询时看到一个错误。

java.sql.SQLException: ORA-00904:“table_name”,“column_name”标识无效

当我在sqldeveloper中打开该表时,该列已经存在。

错误仅发生在PROD中,而不是DEV中。

我应该检查什么?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2011-04-20 11:15:09

ORA-00904-invalid identifier错误通常由区分大小写的问题引起。通常,Oracle表和列不区分大小写,不能包含标点符号和空格。但是,如果您使用双引号来创建带引号的标识符,则必须始终使用双引号和正确的大小写来引用该标识符。例如:

代码语言:javascript
复制
create table bad_design("goodLuckSelectingThisColumn  " number);
票数 30
EN

Stack Overflow用户

发布于 2011-04-20 07:13:13

如果执行用户对查询中涉及的对象没有适当的权限,则Oracle将抛出ORA-00904

票数 8
EN

Stack Overflow用户

发布于 2016-11-04 21:09:07

当我不小心定义了两个具有相同持久化数据库表的实体时,就会发生这种情况。在其中一个表中,有问题的列确实存在,而在另一个表中则不存在。当试图持久化一个对象(其类型引用了错误的底层数据库表)时,会发生此错误。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5722851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档