Postgresql 基于当前记录更新表

Postgresql 基于当前记录更新表,postgresql,sql-update,cursor,Postgresql,Sql Update,Cursor,在我的PostgreSQL数据库中,出于各种原因,我正在将整数键转换为UUID。所以现在我有了带有ident序列主键的table Person,和带有Person\u id整数的table TeamPerson引用Person(ident) 然后,我将uid UUID列添加到Person,并将Person\u uid引用Person(uid)列添加到TeamPerson。所以现在我需要使所有的person\u id对应于person\u id引用。我想要像这样的东西: UPDATE TeamPe

在我的PostgreSQL数据库中,出于各种原因,我正在将整数键转换为UUID。所以现在我有了带有
ident序列主键的table Person,和带有
Person\u id整数的table TeamPerson引用Person(ident)

然后,我将
uid UUID
列添加到Person,并将
Person\u uid引用Person(uid)
列添加到TeamPerson。所以现在我需要使所有的person\u id对应于person\u id引用。我想要像这样的东西:

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

当前团队人员行
是我试图解决的问题。我想我需要一个当前值为
光标,但我不知道怎么做。

您可能正在寻找:,也称为“依赖子查询”

在SQL数据库查询中,相关子查询(也称为 同步子查询)是一个子查询(嵌套在另一个子查询中的查询) 查询)使用外部查询中的值


啊,我离得太近了!谢谢!:)
UPDATE TeamPerson tp
SET person_uid = (
    SELECT uid FROM Person p 
    WHERE p.ident = tp.person_id
)