Есть ли в DB2 оператор «вставить или обновить»?
Исходя из моего кода (Java), я хочу убедиться, что в базе данных (DB2) существует строка после выполнения моего кода.
Мой код сейчас делаетselect
и если результат не возвращается, он делаетinsert
, Мне действительно не нравится этот код, так как он подвергает меня проблемам параллелизма при работе в многопоточной среде.
Я хотел бы поместить эту логику в DB2, а не в мой код Java. Есть ли у DB2insert-or-update
заявление? Или что-нибудь подобное, что я могу использовать?
Например:
insertupdate into mytable values ('myid')
Другой способ сделать это, вероятно, состоит в том, чтобы всегда выполнять вставку и перехватывать «первичный ключ SQL-кода -803 уже существует», но я хотел бы избежать этого, если это возможно.