1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| WITH new_values (idTest7,test7Long,test7Int,test7Float,test7CharArray,test7Timestamp,test7Date) AS (
VALUES
(72063769328484353,0,3,0.0,'',CAST ('1970-01-01 00:00:00.0' AS timestamp),CAST ('1970-01-01' AS DATE)),
(72063769328484354,0,2,0.0,'',CAST ('1970-01-01 00:00:00.0' AS timestamp),CAST ('1970-01-01' AS DATE))
),
upsert AS
(
UPDATE test7
SET test7Long = new_values.test7Long,
test7Int = new_values.test7Int,
test7Float = new_values.test7Float,
test7CharArray = new_values.test7CharArray,
test7Timestamp =new_values.test7Timestamp,
test7Date = new_values.test7Date
FROM new_values
WHERE test7.idTest7 = new_values.idTest7
RETURNING test7.*
)
INSERT INTO test7 (idTest7,test7Long,test7Int,test7Float,test7CharArray,test7Timestamp,test7Date)
SELECT idTest7,test7Long,test7Int,test7Float,test7CharArray,test7Timestamp,test7Date
FROM new_values
WHERE NOT EXISTS (SELECT 1
FROM upsert
WHERE upsert.idTest7 = new_values.idTest7) |