PLSQL使用多个集合更新多行

PLSQL使用多个集合更新多行,plsql,oracle-sqldeveloper,Plsql,Oracle Sqldeveloper,我有一长串数据需要更新到表中。现在,我了解了如何更新,但是,我很难更新多行 以下是我的示例数据: Loc Check 020201 10000 020301 10050 020401 10100 020501 10150 020601 10200 根据我在这里的发现,我尝试了不同的方法。但这似乎不是我想要的 我在想这会是一个类似于: UPDATE t1 set check = '10000' where loc = '02

我有一长串数据需要更新到表中。现在,我了解了如何更新,但是,我很难更新多行

以下是我的示例数据:

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所以我不知道如何基于多个集合格式化它

谢谢。

您可以使用大小写表达式

update t1
   set check = case loc when '020201' then '10000'
                        when '020301' then '10100'
                        ... etc.
                        end
 where loc in ('020201','020301',...);
但坦率地说,我只想写几个单例更新语句:

update t1 set check = '10000' where loc = '020201';
update t1 set check = '10100' where loc = '020301';
.etc.
可以使用大小写表达式

update t1
   set check = case loc when '020201' then '10000'
                        when '020301' then '10100'
                        ... etc.
                        end
 where loc in ('020201','020301',...);
但坦率地说,我只想写几个单例更新语句:

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

当然我现在觉得有点尴尬。谢谢你,托尼!当然我现在觉得有点尴尬。谢谢你,托尼!