我試圖實施一個解決方案,我找到了來自Michiel de Mare的here,用一個(最好是簡單的語法意義上的)查詢來更新多個記錄。我試圖學習的示例代碼如下所示:Oracle:在重複密鑰更新
INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);
我正在使用Oracle(並且我還不熟悉SQL查詢)。
基於一些動態內容,我連接了類似於上面的查詢。它的長度可以根據我多少記錄更新而變化,但是這是我生成一個查詢的例子:
INSERT INTO my_table (question_id,ug) VALUES (30,0),(31,1) ON DUPLICATE KEY UPDATE ug=VALUES(ug)
上面查詢得到這個錯誤:
Native message: ORA-00933: SQL command not properly ended
我處理具有運行查詢的函數調用的內容管理系統;在這個框架內。我不認爲這是恰當的,但我從來沒有必要把';'但是,在查詢結束時,我嘗試了使用和不使用分號。
哪個查詢生成錯誤消息? –
@Andrew,我編輯了這個問題。 – John
好的,但A1ex07已回答你的問題。 –