2026-10-25 19:24:07
在PostgreSQL中,多表关联UPDATE操作确实相对简单,但需要注意一些限制和语法细节。以下是对您提供的示例的详细说明和扩展:
基本语法PostgreSQL支持通过FROM子句实现多表关联UPDATE,基本语法如下:
UPDATE table1 SET column1 = table2.column2FROM table2WHERE table1.join_column = table2.join_column;您的示例分析UPDATE receivable_payable p SET expiration_date = o.overdue_date FROM purchase_order o WHERE p.order_code = o.code;使用了表别名(p和o)提高可读性
通过WHERE子句建立表间关联
只能更新FROM子句中第一个表(receivable_payable)的字段
单表更新限制:
只能更新FROM子句中第一个表(主表)的字段
不能同时更新多个表的字段
错误示例(会报错):
如果需要更新多个表的字段,可以采用以下方法:
PostgreSQL的这种语法确实简洁直观,这也是它受到许多开发者喜爱的原因之一。