PL SQL Обновление нескольких строк несколькими наборами - PullRequest
0 голосов
/ 08 апреля 2020

У меня длинный список данных, которые мне нужно обновить до таблицы. Теперь я понимаю, как обновлять, однако я пытаюсь обновить несколько строк.

Вот мои примеры данных:

Loc        Check
020201     10000
020301     10050
020401     10100
020501     10150
020601     10200

Я пытался разными способами, основываясь на том, что я ' нашел здесь. Но это не совсем то, чего я хочу.

Я думал, что это будет что-то вроде:

UPDATE t1
         set check = '10000' where loc = '020201',
         set check = '10050' where loc = '020301',
         set check = '10100' where loc = '020401'

Не сработало, хотя: D, так что у меня есть не знаю, как отформатировать его на основе нескольких множеств ...

Спасибо.

1 Ответ

2 голосов
/ 08 апреля 2020

Вы могли бы использовать выражение CASE

update t1
   set check = case loc when '020201' then '10000'
                        when '020301' then '10100'
                        ... etc.
                        end
 where loc in ('020201','020301',...);

Но, честно говоря, я бы просто написал несколько операторов обновления singleton:

update t1 set check = '10000' where loc = '020201';
update t1 set check = '10100' where loc = '020301';
.etc.
...