2017-02-10 20 views
0

私のPostgreSQLデータベースでは、さまざまな理由で整数キーからUUIDに変換しています。だから私はident serial primary keyのテーブルPersonとテーブル012PのTeamPersonを持っています。現在のレコードに基づくテーブルの更新

次に、Personに一意制約を持つuid UUID列を追加し、TeamPersonにperson_uid references Person (uid)列を追加します。ですから、私はすべてのperson_uidをperson_id参照に対応させる必要があります。私は何かが欲しい:

UPDATE TeamPerson 
SET person_uid = (
    SELECT uid FROM Person WHERE ident = current_team_person_row.person_id 
) 

current_team_person_row私は解決しようとしている私の問題です。私はWHERE CURRENT OFとカーソルが必要だと思うが、私はこれを行う方法を掴んでいない。

答えて

0

おそらく探している:correlated subquery、(も 同期サブクエリとして知られている)相関サブクエリは、サブクエリ(ネストされたクエリで、「依存サブクエリ」SQLデータベースのクエリで

としても知られています外部クエリの値を使用する別の クエリの内部)。

UPDATE TeamPerson tp 
SET person_uid = (
    SELECT uid FROM Person p 
    WHERE p.ident = tp.person_id 
) 
+0

ああ、私はとても近かった!ありがとう! :) – Gargoyle

関連する問題