2013-10-23 123 views
0

我有一個應用程序動態地爲任何GUI數據更改生成查詢。我正在使用http://openhms.sourceforge.net/sqlbuilder/ API。Oracle Sql時間戳

一切都因爲我沒有使用時間戳列,只要工作。

當有一個時間戳列,它會產生像

UPDATE table 
SET col1= 'junk' 
WHERE MESSAGE = 'Garbage') 
    AND CREATED_DATE_TIME = {ts '2013-10-01 07:09:54.342'} 
    AND LAST_UPDATED_DATE_TIME = NULL 
    AND ACK_TIME = NULL 

它得到執行,但數據(COL1)沒有得到更新查詢。如果我從條件中刪除時間戳列(CREATED_DATE_TIME),數據會更新。

任何線索?

+0

有沒有錯誤?這種時間戳符號可能有些問題。你可以強迫這個工具使用其他格式/符號嗎? –

+0

是否存在具有確切時間戳'2013-10-01 07:09:54.342'的記錄? – Twelfth

+0

你的'WHERE'子句沒有返回行,因此禁止更新。重新考慮您的過濾條件,因爲按時間戳過濾將過濾所有與提供的值不匹配的記錄,即使只是幾分之一秒。 – Rachcha

回答

0

感謝Rachcha。問題是我的SqlBuilder API處理得不好,因此產生了一個查詢LAST_UPDATED_DATE_TIME = NULL。理想情況下,它應該已經產生的LAST_UPDATED_DATE_TIME *IS* NULL

我沒有注意到,除非我讀Rachcha的評論。