- ORA-00904
时间: 2023-10-11 08:12:32 浏览: 52
ORA-00904错误是Oracle数据库中的一个常见错误,表示无效的标识符。这个错误通常发生在SQL语句中,指出SQL语句中引用的列名或表别名不存在或拼写错误。
有几个可能的原因导致ORA-00904错误。首先,可能是由于数据库更新版本时没有同步新增的字段,导致SQL语句中引用了不存在的字段。解决方法是确保数据库更新时,将新增的字段同步到现网库上,并备份语句以防止遗漏对数据库的操作。
另外,ORA-00904错误还可能是由于实体映射文件(.hbm.xml文件)或数据库实际字段不一致导致的。可能是字段名称拼写错误或字段长度不足。在检查中,发现缺失了字段TRANSPEOPLELIABLE,需要在数据库中新增该字段。
总之,ORA-00904错误是由于SQL语句中引用的列名或表别名不存在或拼写错误所引起的。处理此错误的方法是确保数据库更新时同步新增字段,并检查实体映射文件和数据库字段是否一致。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
相关问题
ora -00904
ORA-00904是Oracle数据库的错误代码,表示无效的标识符。这个错误通常发生在SQL查询中,当引用了一个不存在的列名或表名时会触发该错误。
引用\[1\]中的示例查询中,使用了一个不存在的列名"st_id",导致了ORA-00904错误。正确的列名应该是"student_id"。因此,需要修改查询为:SELECT student_id AS stid, first_name, last_name FROM student WHERE student_id = 10; \[1\]
引用\[2\]中的示例代码中,使用了一个不存在的列名"PWD",导致了ORA-00904错误。正确的列名应该是"pwd"。因此,需要修改查询为:User user = userDao.findByPwd("ccat"); \[2\]
引用\[3\]中提到,如果在创建表时使用了双引号将表名或字段名括起来,那么在查询时也需要使用双引号来引用这些标识符。否则,Oracle数据库会将它们视为不区分大小写的标识符。因此,在查询时需要使用双引号来引用表名和字段名,以避免ORA-00904错误的发生。例如:SELECT "ID" from "tablename"; \[3\]
综上所述,ORA-00904错误通常是由于引用了不存在的列名或表名导致的。需要仔细检查查询语句中的标识符是否正确,并根据需要使用双引号来引用标识符。
#### 引用[.reference_title]
- *1* [ORA-00904: 标识符无效解决方案(oracle 00904)](https://blog.csdn.net/weixin_42386551/article/details/106926862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [ORA-00904:标识符无效(太坑了!!)](https://blog.csdn.net/weixin_47356053/article/details/125621613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [[Error Code: 904, SQL State: 42000] ORA-00904 : 标识符无效](https://blog.csdn.net/hyfstyle/article/details/121121331)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mysql ORA-00904
根据提供的引用内容,可以看出这是Oracle数据库的错误信息,而不是MySQL数据库的错误信息。ORA-00904错误是Oracle数据库中的一个常见错误,它表示标识符无效。这个错误通常是由于表名、列名或别名拼写错误、大小写错误或者没有授权访问该对象所导致的。而ORA-00604错误则表示在递归SQL的第三层发生了错误。这个错误通常是由于递归查询的深度过深或者递归查询中的语法错误所导致的。至于引用中提到的"SYS"."DBMS_RCVMAN"."SV_GETSESSIONUNTILTIMERANGE",它是一个无效的标识符,可能是由于该对象不存在或者没有授权访问该对象所导致的。如果您遇到了这些错误,建议您检查您的SQL语句、表名、列名、别名等是否正确,并检查您是否有访问相关对象的权限。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)