2014-01-28 36 views
2

在大多數SQL數據庫我見過你可以這樣做:選擇不帶表(JDBC)

SELECT ABS(-2.4) 

,我回來2.4。注意沒有FROM子句。

當我嘗試在OpenEdge中通過Squirrel和JDBC驅動程序執行此操作時,出現語法錯誤。有沒有辦法通過JDBC運行這樣的SELECT語句(sans FROM子句)?

+2

我認爲這是平臺相關的。例如,oracle作爲「DUAL」虛擬表來使用。不知道其他系統。 – OldProgrammer

+0

我想特意瞭解OpenEdge。 –

回答

1

單行/列雙等效; SYSPROGRESS.SYSCALCTABLE

+0

你能解釋一下你的答案嗎?我認爲你所說的是把它添加到我知道有用的FROM子句中。有沒有辦法不包含FROM?如果不是,您爲什麼必須包含此表格有特別的理由嗎?我注意到你甚至不能像SELECT 2 + 2那樣做。 –

+0

簡單地說,因爲引擎的SQL方言的語義要求用SELECT指定FROM子句,所以這就是你必須做的。與Oracle相關; http://stackoverflow.com/questions/73751/what-is-the-dual-table-in-oracle –

+0

我沒有太多的工作與Oracle如此有趣的知道。順便說一句,我注意到,如果我SELECT 2 + 2 FROM AnotherTable(現有表)它會輸出每個現有的行。 –