我有一张桌子" tablea"列#34; a"和" b"
表格中有一行a = 1
和b = 3
现在我想生成一个Postgres SQL查询,该查询插入一个包含a=x
和b = 3
的新行,其中x
是一些提供的值,3
来自现有的行。
同样,我想将现有行更新为a = 1
和b = x
。
在伪代码中,这与
类似first = select(a=1) limit 1
second = (x, first.b)
first = (first.a, x)
我无法想象如何在SQL中执行此操作。目前,我在我的应用程序中进行选择并构建插入和更新,并将它们一起发送到数据库。
这意味着向db进行2次往返,并且需要发送约60,000个这些查询。需要一段时间。
如果我可以在一个查询中实现这一点,我可以构建60.000查询并立即将它们发送到数据库=更快