注册

mergeinto异常

2024/03/12 696 2

【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)
回答 0
暂无回答
扫一扫
联系客服