如何在PostgreSQL中嵌入多行

前端之家收集整理的这篇文章主要介绍了如何在PostgreSQL中嵌入多行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在Postgresql 9.5.2中编写这样的查询
INSERT INTO a (id,x)
    SELECT id,x FROM b
ON CONFLICT (id) DO UPDATE
    SET x = b.x
    WHERE b.y < 100

但我得到ERROR:缺少表“b”的FROM子句条目.我必须遗漏一些基本的东西,但是如何引用UPDATE子句中插入的行?或者还有其他方式吗?

冲突的值可通过 excluded别名获得:
INSERT INTO a (id,x)
SELECT id,x 
FROM b
ON CONFLICT (id) DO UPDATE
    SET x = excluded.x;

猜你在找的Postgre SQL相关文章