思路:
新增:拿新数据对比旧数据,用left join , 新数据 left join 旧数据 where 旧数据id is null;
更新的数据:拿 新数据对比旧数据,用INNER JOIN, 新数据 INNER JOIN 旧数据 where 条件
然后就去更新或者插入数据了,
INSERT INTOadvertisement.adv_images_play_record aaipr
SET report_time = datar.report_time_new
FROM
(
SELECT
aai.ID,
aa.report_time_new
FROM
(
SELECT
to_timestamp( report_time, 'yyyy-MM-dd hh24:mi:ss' ) AS report_time_new
FROM
json_to_recordset ( _s_json_parms:: json ) AS A ( report_time TEXT )
) AS aa
LEFT JOIN advertisement.adv_images_play_record aai ON aa.report_time_new = aai.report_time_new
) datar
WHERE
aaipr.ID = datar.ID;
UPDATE advertisement.adv_images_play_record aaipr
SET report_time = datar.report_time_new
FROM
(
SELECT
aai.ID,
aa.report_time_new
FROM
(
SELECT
to_timestamp( report_time, 'yyyy-MM-dd hh24:mi:ss' ) AS report_time_new
FROM
json_to_recordset ( _s_json_parms:: json ) AS A ( report_time TEXT )
) AS aa
INNER JOIN advertisement.adv_images_play_record aai ON aa.report_time_new = aai.report_time_new
) datar
WHERE
aaipr.ID = datar.ID;