求一句SQL移植,从MySQL到PostgreSQL:INSERT INTO... SELECT...ON DUPLICATE KEY UPDATE

rapax 2016-10-08 10:31:20
MySQL下SQL语句如下,求Postgre下SQL语句:
INSERT INTO tab_a
(productid,
duration)
SELECT f.productid,
SUM(f.duration)
FROM tab_b f,
GROUP BY f.productid ON DUPLICATE KEY UPDATE duration = VALUES(duration);

Postgre版本号:
SELECT version();
PostgreSQL 8.2.15 (Greenplum Database 4.3.8.1 build 1) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Apr 20 2016 08:08:56
不是9.5所以不支持ON CONFLICT CLAUSE
查到一个的解决方案,但还需要加上insert...select:
http://stackoverflow.com/questions/1109061/insert-on-duplicate-update-in-postgresql

...全文
2265 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
php17 2016-10-10
  • 打赏
  • 举报
回复
你可以用tab_b和tab_a进行关联,进行去重,最后关联的结果插入tab_a表

165

社区成员

发帖
与我相关
我的任务
社区描述
Greenplum相关内容分享专区
数据库数据库架构数据库开发 技术论坛(原bbs)
社区管理员
  • Greenplum社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧