求一句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