我想使用db2合併語句作爲jdbc語句提交它。 我處於以下情況。我正在使用專有的持久層,我正在處理一個實體,我不知道它是否已經存在,我想使用merge語句來插入或更新數據庫中的一行。 這可能嗎? 想我與表工作人有三列:ID,姓名,姓,我處理與ID =「5」的實體,名字=「吸盤」,姓=「諾里斯」我是能發出:Db2從動態值jdbc合併
MERGE INTO people AS t
USING (select '5' as id, 'chuck' as name, 'norris' as surname from SYSIBM.SYSDUMMY1)As s
ON (t.id = s.id)
WHEN MATCHED THEN
UPDATE SET t.name=s.name, t.surmane=s.surname
WHEN NOT MATCHED THEN
INSERT
(id, name, surname)
VALUES (s.id, s.name, s.surname)
這樣的說法?我試圖這樣做,但我得到了一個錯誤。我不認爲這是允許使用選擇使用後:
USING (select '5' as id, 'chuck' as name, 'norris' as surname from SYSIBM.SYSDUMMY1)As s
我也tryed做:
USING VALUES('5','chuck','norris') AS s(id,chuck,norris)
,但它不到風度的工作。任何幫助,將不勝感激。 此外,是否有人知道是否可以在準備好的聲明中使用這樣的聲明,用'?'替換表達爲USING部分的真實值。佔位符以便使用setXXX()方法將它們設置爲準備好的語句?
感謝
感謝 費爾
非常感謝!它的工作......顯然有括號的問題......正確的使用是你寫的! :) – filmac 2012-02-15 14:21:36