更新PostgreSQL中的整行

时间:2016-10-01 20:20:25

标签: sql postgresql

我需要在不知道列和行的情况下更新整行......

这样的事情:

UPDATE blabla SET blabla.* = tmp.* FROM tmp WHERE id = someid;

有没有想法?

感谢您的回答

2 个答案:

答案 0 :(得分:2)

我认为Postgres不允许这样做。一个简单的解决方案是两个单独的步骤:

delete from blabla where id = someid;

insert into blabla
    select * from tmp where id = someid;

这假设列的定义顺序相同。

答案 1 :(得分:0)

我不认为可以在不知道的情况下更新所有列名。请看下面这个链接。虽然它是在mysql中。我相信,这将适用于postgresql

SQL Updating Rows Without Knowing Column Name

我发现此链接使用CTE,但它指定了列名

https://dba.stackexchange.com/questions/45642/bulk-update-of-all-columns

希望您的答案有用。

谢谢,