jdbc:h2:mem:request_no;MODE=Oracle
Мы используем версию h2 1.3.171 с окнами 7 (64 бит) и jdk 1.7.0_25.
Когда мы пытаемся запустить инструкцию SQL:
WITH TMP1 AS (SELECT col1 FROM table1) SELECT TMP1.col1 FROM TMP1
Мы получаем следующее исключение:
org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement
"WITH TMP1 AS[*] (SELECT REQUEST_NO FROM QUOTE)
SELECT TMP1.REQUEST_NO FROM TMP1";
expected "., ("; SQL statement:
WITH TMP1 AS (SELECT REQUEST_NO FROM QUOTE)
SELECT TMP1.REQUEST_NO FROM TMP1 [42001-171]
SQL отлично, поскольку мы можем успешно выполнить его с помощью SQL Developer.
Любая помощь приветствуется.
Благодарю.
Попробуйте определить столбцы как часть определения CTE:
WITH TMP1(REQUEST_NO) AS
(SELECT REQUEST_NO FROM QUOTE
)
SELECT TMP1.REQUEST_NO
FROM TMP1;
Я думаю, что некоторые базы данных требуют четких списков столбцов при использовании with
.