SQL语句"WITH"关键字的语法错误引发异常 [英] Syntax error in SQL statement “WITH” keyword throwing exception
问题描述
我还添加了另一个TMP2,但无法运行该查询...您能否在此查询上为我提供帮助?我正在使用Oracle 11g.
I have also added another TMP2 and was not able to run the query... Could you please help me on this query? I am using Oracle 11g.
WITH TMP1(REQUEST_NO) AS (SELECT REQUEST_NO FROM QUOTE)
SELECT TMP1.REQUEST_NO FROM TMP1;
WITH TMP1(REQUEST_NO) AS
(SELECT REQUEST_NO FROM QUOTE),
TMP2(AGENT) AS (SELECT AGENT FROM AGENT_TAB)
SELECT TMP2.AGENT FROM TMP2;
我得到的例外是:
org.h2.jdbc.JdbcSQLException:
Syntax error in SQL statement "WITH TMP1(REQUEST_NO) AS (SELECT REQUEST_NO FROM QUOTE),
[*]TMP2(AGENT) AS (SELECT AGENT FROM AGENT_TAB) SELECT TMP2.AGENT FROM TMP2 "; expected "(,
SELECT, FROM"; SQL statement:
该查询在sql developer中很好,但在Junit测试中不起作用. jdbc:h2:mem:request_no; MODE = Oracle 我们正在将h2版本1.3.171与Windows 7(64位)和jdk 1.7.0_25一起使用.
The query is fine in sql developer but not working in the Junit tests. jdbc:h2:mem:request_no;MODE=Oracle We are using the h2 version 1.3.171 with windows 7 (64 bit) and jdk 1.7.0_25.
推荐答案
Oracle支持WITH子句,但是看起来H2不支持它: H2 SQL语法
Oracle supports the WITH clause, but it is looks like H2 does not support it: H2 SQL grammar
我会将with部分中的查询转换为主要查询.
I would transform the query in the with part to the main query.
这篇关于SQL语句"WITH"关键字的语法错误引发异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!