Hello All,
I'm trying to get build up some equivalence update queries from MySQL to Oracle.
Unfortunetely, I must also tackle this in python. I'm just curious if somebody might have an idea, mainly on the MERGE USING.
Any assitance would help. Woudl have posted this on MySQL forums, but it looks like its being spammed lately.
Jan S.
-- MYSQL
conn.execute("""INSERT INTO datapoint VALUES %s
ON DUPLICATE KEY UPDATE
avg = (count * avg + VALUES(avg)) / (count + 1),
count = count + 1,
min = IF(min < VALUES(min), min, VALUES(min)),
max = IF(max > VALUES(max), max, VALUES(max))""" % (values,),
--ORACLE
conn.execute("""MERGE INTO datapoint d
USING ( select %s FROM datapoint) e ON (d.datapoint_id = e.datapoint_id)
WHEN MATCHED THEN
UPDATE datapoint SET
avg = (count * avg + VALUES(avg)) / (count + 1),
count = count + 1,
min = CASE WHEN min < VALUES(min) THEN min ELSE VALUES(min) END;,
max = CASE WHEN max > VALUES(max) THEN max ELSE VALUES(max) END;
WHEN NOT MATCHED THEN
INSERT INTO datapoint VALUES %s""" % (values,),