【发布时间】:2022-06-14 16:58:27
【问题描述】:
我正在尝试在我的应用程序中调试失败的 SQL 查询。
以下查询失败并返回 ORA-00936: BAD SQL Grammar 异常
(http响应: {“数据”:空,“异常”:“org.springframework.jdbc.BadSqlGrammarException: 语句回调;糟糕的 SQL 语法)
SELECT SAF.*,round(DBMS_RANDOM.VALUE (1, 20)) rnd FROM SC_DRIFT.SAFE_DATA_VAGTPLAN SAF,SC_DRIFT.SAFE_SYS_AKTIVITET SAF1 WHERE SAF.AKTIVITET_ID=SAF1.AKTIVITET_ID AND SAF.INITIALER in (SELECT SAF.INITIALER 来自 SC_DRIFT.SAFE_DATA_MEDARBEJDER SAF WHERE SAF.MED_STEDKODE_ID IN (undefined) AND SAF.INITIALER not in() AND SAF.INITIALER 不在(从 SC_DRIFT.SAFE_DATA_VP_KR 中选择 init,其中 trunc(dato) = trunc(sysdate+0)) AND SAF.STATUS 不在 (4,6,7) AND SAF.ROLE_ID 不在 (4)) AND trunc(SAF.VAGT_DATO) = trunc(sysdate+0) 和 SAF.UGEDAG 不在('lørdag','søndag')和 SAF.DELETED = 0 和 SAF1.AKTIVITETSKATEGORI in(1) 和 SAF.GRUPPE_ID in(undefined) 和 SAF1.CTI_REQ in(1) order by rnd];嵌套异常是 java.sql.SQLSyntaxErrorException: ORA-00936: 缺少表达式\n"}
【问题讨论】:
-
您可能需要弄清楚为什么生成的 SQL 以
in (undefined)和not in ()结尾 - 错误可能来自后者,但两者都不是。
标签: javascript sql oracle