在Postgresql中,仅在UPDATE子句中指定要更新的表即可,例如UPDATE bue
。FROM子句仅用于查询中引用的 其他 表。(如果您在上进行自bue
联接,则可以在FROM子句中再次提及它,但是在这种情况下就不行了。)
您得到的第二个错误可能只是一个简单的语法错误。另一个棘手的事情是JOIN / ON语法不适合FROM子句,因此您必须将联接条件移到WHERE子句。尝试类似的东西:
UPDATE
bue
SET
rgn_no = chapterassociation.rgn_no,
chp_cd = chapterassociation.chp_cd
FROM
chapterassociation
WHERE
bue.mbr_no IS NULL AND bue.chp_cd IS NULL
AND bue.work_state = chapterassociation.work_state
AND bue.bgu_cd = chapterassociation.bgu_cd
参见http://www.postgresql.org/docs/current/interactive/sql- update.html。
(注意:至少我不知道如何将JOIN / ON放入UPDATE语句中……我可能会丢失一些东西。)