【DM版本】:达梦8
【操作系统】:centos7
【CPU】:
【问题描述】*:通过merge into批量入数据偶发如下错误
Cause: dm.jdbc.driver.DMException: Violate unique constraint on
表结构如下:
CREATE TABLE "MYDB"."test"
(
"DEVICE_ID" VARCHAR(64) NOT NULL,
"YEAR" INT NOT NULL,
"MONTH" INT NOT NULL,
"DAY" INT NOT NULL,
"HOUR" INT NOT NULL,
"TOTAL" BIGINT DEFAULT 0 NOT NULL,
"ID" VARCHAR(64) NOT NULL,
CONSTRAINT "UDX_PKEY" NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
其中merge info语句如下:
MERGE
INTO
"MYDB"."test" T1
USING ( SELECT ? as device_id,
? as year,
? as month,
? as day,
? as hour,
? as total,
? as id
FROM DUAL ) T2
ON ( T1.id=T2.id)
WHEN MATCHED THEN
UPDATE SET T1.total = T1.total+T2.total WHEN NOT MATCHED THEN
INSERT ( device_id,
year,
month,
day,
hour,
total,
id)
VALUES(T2.device_id,
T2.year,
T2.month,
T2.day,
T2.hour,
T2.total,
T2.id)
是并发业务么?驱动版本和数据库版本分别是多少呢
问题验证中,请耐心等待。