insert?Update?
レコードがなかったらInsert、あったらupdateとか一発でできんのかい・・・と思ったらあった。
INSERT INTO
TABLE_NAME
(
PK1,
PK2,
AAA,
BBB
)
VALUES
(
(key1),
(key2),
10,
20
)
ON DUPLICATE KEY UPDATE
AAA = AAA + 10,
BBB = BBB + 20
emura 10:23 AM | 2013年2月12日 パーマリンク | ログインして返信する
Oracle”なら”とか止めてほしいです…覚えきれない…
arai 12:31 AM | 2013年2月9日 パーマリンク | ログインして返信する
OracleならMERGE文ですな!!
emura 10:51 AM | 2013年1月23日 パーマリンク | ログインして返信する
挿入または書き換えるValueが同じの場合(上記の例では、AAA = 10、BBB = 0 )は、Replaceの方がよさそうですね。
uto 12:07 AM | 2013年1月23日 パーマリンク | ログインして返信する
↑のSQLは、キーがだぶってたら、既に入っている行のデータを利用してのUpdateだけど、まったく違ったデータをInsertしたい場合は、Replace文でいけますよ。