SQL语句"WITH"关键字的语法错误引发异常 [英] Syntax error in SQL statement “WITH” keyword throwing exception

查看:349
本文介绍了SQL语句"WITH"关键字的语法错误引发异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我还添加了另一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆