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

时间:2011-07-17 23:57:52

标签: oracle10g plpgsql

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

1 个答案:

答案 0 :(得分:0)

以下是在一个语句中更新多行的一个选项:

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