我有桌子
create table INVOICE
(
brok_dlr_code VARCHAR2(20),
invoice_date DATE,
ba_trxn_date_from DATE,
ba_trxn_date_to DATE,
mf_invoice_no VARCHAR2(40)
);
我创建了复合主键
ALTER TABLE BROKER_INVOICE_HISTORY
ADD CONSTRAINT PK_BROKER_INVOICE_HISTORY
PRIMARY KEY(brok_dlr_code, ba_trxn_date_from, ba_trxn_date_to);
没有相同的brok_dlr_code的记录,但执行的脚本具有相同的ba_trxn_date和ba_trxn_date_to日期,但会引发错误
ORA-20005: ORA-00001: unique constraint violated
答案 0 :(得分:0)
由于已经插入的记录很少,因此再次运行脚本会导致脚本开始插入相同的数据。这导致了唯一的约束违规。因此旧数据必须被截断并重新运行脚本不会导致这种唯一约束。