jdbcからの文としてサブミットするdb2 merge文を使用したいと思います。 私は以下のシナリオにあります。私は独自のパーシスタンス層で作業しています。すでに永続化されているかどうかわからないエンティティを処理しています。データベースの行を挿入または更新するためにmerge文を使用したいと考えています。 可能ですか? テーブルの人の3つのカラム:id、name、surnameとid = "5"、name = "chuck"、surname = "norris"のエンティティを処理しているとします。発行できる: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
は私もやってしようと試みた:私は、はを使用した後の選択を使用することはできないと思う
USING VALUES('5','chuck','norris') AS s(id,chuck,norris)
が、それは仕事をdosn't。どんな助けもありがとう。 さらに、用意されたステートメントでそのようなステートメントを使用することができるかどうかを知っている人は誰でも、USING部分に表現された実際の値を '?'プレースホルダをsetXXX()メソッドを使用してプリペアドステートメントに設定するには?
おかげ
おかげ フィル
おかげでたくさんの例のための「surmane」!それはうまくいきました...明らかに括弧で囲まれた問題がありました...正しいUSINGはあなたが書いたものでした! :) – filmac