我需要在不知道列和行的情况下更新整行......
这样的事情:
UPDATE blabla SET blabla.* = tmp.* FROM tmp WHERE id = someid;
有没有想法?
感谢您的回答
答案 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
希望您的答案有用。
谢谢,