【发布时间】:2020-05-23 07:36:03
【问题描述】:
我正在尝试使用单个表将数据插入到不同的表中,并且我要插入的表具有主键。
谁能指导我如何修复错误?
INSERT
ALL
WHEN TO_CHAR(L_SHIPDATE,'YYYY') = '1995' THEN
INTO YEAR1995
VALUES (L_PARTKEY, L_EXTENDEDPRICE - 0.1*L_EXTENDEDPRICE)
WHEN TO_CHAR(L_SHIPDATE,'YYYY') = '1996' THEN
INTO YEAR1996
VALUES (L_PARTKEY, L_EXTENDEDPRICE - 0.1*L_EXTENDEDPRICE)
WHEN TO_CHAR(L_SHIPDATE,'YYYY') = '1997' THEN
INTO YEAR1997
VALUES (L_PARTKEY, L_EXTENDEDPRICE - 0.1*L_EXTENDEDPRICE)
SELECT distinct L_PARTKEY, L_EXTENDEDPRICE, L_SHIPDATE
FROM LINEITEM;
第 1 行出现错误:ORA-00001:违反了唯一约束 (TPCHR.YEAR95_PKEY)
这是表定义
CREATE TABLE YEAR1995
(
Y95_PARTKEY NUMBER(12) NOT NULL,
Y95_PRICE NUMBER(12) NOT NULL,
CONSTRAINT YEAR95_PKEY PRIMARY KEY (Y95_PARTKEY, Y95_PRICE)
);
【问题讨论】:
-
PRIMARY KEY (Y95_PARTKEY, Y95_PRICE) ,你真的在 Price 字段上添加了约束吗?