私は1つのマスターテーブルを持っています。その主キーは他のテーブルの外部キーとして使用されます。私は他のテーブルの定義を変更することはできません "更新カスケード"と私はプライマリキーの値を変更したいので、他のテーブル私は更新する必要があります... 現在、私はplpgsql、 私は大量のデータを処理するので、どうにかしてパフォーマンスが低下します。 誰かが助けてくれますか?単一のクエリで複数のテーブルを更新する方法、または複数の行を異なる値で更新する方法はありますか?ここで一度に複数の行を更新すると、各行ごとに値が異なる
0
A
答えて
0
は、1つのステートメントで複数の行を更新するための一つの選択肢です:
update mytable set
mycolumn = (case myid when 1 then 'a' when 2 then 'b' ... end)
where myid in (1, 2, ...);
あなたは、Oracleのための1つが 'plsql'と呼ばれながら'、のPostgreSQL手続き言語をplpgsql'isことを知っていますか?この混乱は、満足のいく答えを得られなかった理由を説明するかもしれません。それは本当ですか? –