7
我有一個連接器應用程序,它使用apache駱駝從第三方數據庫讀取。我試圖用H2數據庫來模擬相同的數據庫和查詢操作,以便測試時不需要連接到第三方數據庫。 該數據庫位於MS SQL Server中。我在我的H2數據庫中使用模式作爲SQLServer。但是,我有一個與if-else條件的mssql查詢。當我嘗試執行它時,出現以下錯誤。如果 - 否則在H2數據庫查詢條件
MSSQL查詢
if((SELECT count(*) from Employee where DateCreated < '2016-02-02 00:05:00')>1)
SELECT TOP 10 * from Employee where DateCreated < '2016-02-02 00:05:00'
else
SELECT TOP 1 * from Employee where DateCreated < '2016-02-02 00:05:00'
錯誤消息:
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement " IF[*]((SELECT COUNT(*) FROM EMPLOYEE)>1)
SELECT TOP 10 * FROM EMPLOYEE
ELSE
SELECT TOP 1 * FROM EMPLOYEE "; expected "INSERT, {"; SQL statement:
if((SELECT count(*) from Employee)>1)
SELECT TOP 10 * from Employee
else
SELECT TOP 1 * from Employee [42001-185]
我假設的條件查詢沒有在H2數據庫支持。無論如何,我可以在H2中執行相同的查詢嗎? 最糟糕的情況,有沒有其他的方法,我可以在其中改變與H2兼容的mssql查詢?
實際查詢太大,所以我不想在這裏粘貼。如果條件匹配,我們需要執行另外一個查詢。爲了測試這個場景,我簡單地創建了一個簡單的查詢。 –