Oracle10g 一次更新多行,每行具有不同的值

Oracle10g 一次更新多行,每行具有不同的值,oracle10g,plpgsql,Oracle10g,Plpgsql,我有一张主桌。它的主键在其他表中用作外键。我不能修改其他表的定义,因为它没有任何“更新级联”,我想更改主键的值,以便我应该更新其他表。。。 目前我已经编写了plpgsql, 但由于我有大量数据要处理,不知何故,这会降低性能。 有人能帮助我,如何在一个查询中更新多个表,或者用不同的值更新多行吗 这里有一个选项可以在一条语句中更新多行: update mytable set mycolumn = (case myid when 1 then 'a' when 2 then 'b' ... end)

我有一张主桌。它的主键在其他表中用作外键。我不能修改其他表的定义,因为它没有任何“更新级联”,我想更改主键的值,以便我应该更新其他表。。。 目前我已经编写了plpgsql, 但由于我有大量数据要处理,不知何故,这会降低性能。
有人能帮助我,如何在一个查询中更新多个表,或者用不同的值更新多行吗

这里有一个选项可以在一条语句中更新多行:

update mytable set
mycolumn = (case myid when 1 then 'a' when 2 then 'b' ... end)
where myid in (1, 2, ...);

我不能这样做,因为我将更新数以百万计的记录,我将根据其他列的值用公式更新所有记录。我还应该更新子表。。像update childtable1 set col1=col2(我在plpgsql变量之一中使用的值),其中col1=table1.col1 update childtable2 set col1=col2(我在plpgsql变量之一中使用的值),其中col1=table1.col1您知道
plpgsql
是PostgreSQL的过程语言吗,而用于Oracle的则称为
plsql
?这种困惑也许可以解释为什么你从来没有得到满意的答案。到底是哪一个?