SQL执行遇ORA-00979与Unknown Command错误,请求排查解决
SQL报错排查与解决(ORA-00979 + Unknown Command)
报错根源
两个错误的核心原因是WHERE子句末尾的多余分号:原SQL中WHERE is_standard = 0 and name ='ساير جريانات نقدي ورودي و اشخاص حقوقي غيرمالي';后面的分号会让数据库判定这是一条完整语句,后续的GROUP BY ... HAVING ...被当成了独立的无效命令——既没有对应的SELECT语句支撑GROUP BY语法,本身也不是合法的独立SQL命令,因此同时触发ORA-00979和Unknown Command报错。
修正后的SQL代码
SELECT EFF_DATE, COUNT(EFF_DATE), name FROM TBL_LCR_REP_PROFILE_DETAIL WHERE is_standard = 0 and name ='ساير جريانات نقدي ورودي و اشخاص حقوقي غيرمالي' GROUP BY EFF_DATE, name HAVING COUNT(EFF_DATE) = 43;
说明
移除WHERE子句末尾的分号后,整段代码成为一条完整的聚合查询语句:SELECT中的非聚合列(EFF_DATE、name)均已包含在GROUP BY列表中,符合Oracle的GROUP BY语法规则,能够正常执行。
内容的提问来源于stack exchange,提问作者secretgirl2023
相关产品推荐
相关产品推荐

