如何更新postgreSQL中的所有表

How to update all table in postgreSQL

提问人:Frank Botelle Valdes 提问时间:7/8/2023 更新时间:7/11/2023 访问量:95

问:

我从postgreSQL和NodeJS开始,我有一个办公室对象表,字段为object_id(PK),inventory(varchar),area(FK)和description(text)。此表必须每周更新一次。如何根据相应的库存值更新行?也就是说,如果某行的 inventory(varchar) 值对应于其中一个新条目的 inventory(varchar) 值,则使用该条目的值更新该行。有没有办法在一个查询中做到这一点?

inventory(varchar) 字段对于每一行都是唯一的。 对于查询,我使用模块“pg”和“pg-format”。

非常感谢。

我试着一个接一个地做,但表有 6000 行。我不知道是否有更好的方法。

节点.js PostgreSQL Express PostgreSQL-10 节点-Postgres

评论

1赞 Frank Heikens 7/8/2023
您能否分享所涉及的表格的ddl(纯文本)?还有一些例子。请使用 db-fiddle.com
0赞 Adrian Klaver 7/8/2023
最快的方法可能是将新的每周库存下载到临时/暂存表中,并在子选择中使用该表来更新现有表,例如: 有关更多示例,请参阅此处更新示例update existing_table as e set (inventory, area, description) = (select inventory, area, description from temp_table as t where e.inventory = t.inventory);
0赞 Community 7/10/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

0赞 Sarfraj Ansari 7/8/2023 #1

可以使用 UPDATE 语句。以下示例说明如何更新表中的所有行

UPDATE your_table_name
SET column1 = new_value1,
    column2 = new_value2,
    ...
WHERE condition;

WHERE 子句是可选的。如果省略它,更新将应用于表中的所有行。如果指定条件,则更新将限制为与该条件匹配的行。

例如:

UPDATE employees
SET salary = 5000;