我需要在表格中插入一些字段。表:
CREATE TABLE RADAR(
ctfoto VARCHAR2(5),
pkradar NUMBER(3,0),
sradar VARCHAR2(3),
limitvelctera NUMBER(3,0),
limitvelradar NUMBER(3,0),
CONSTRAINT radar_pk PRIMARY KEY(ctfoto, pkradar, sradar)
);
插入操作:
INSERT INTO RADAR(ctfoto, pkradar, sradar, limitvelctera, limitvelradar)
SELECT distinct carretera_foto, pto_km_radar, sentido_radar, limit_vel_ctera, limit_vel_radar FROM gotcha
错误:
ORA-00001: unique constraint (USER4704.RADAR_PK) violated
请帮忙。
答案 0 :(得分:3)
gotcha
中可能有多条记录在字段carretera_foto, pto_km_radar, sentido_radar
中具有相同的值。
DISTINCT
表示不会重复整个记录。
答案 1 :(得分:3)
DISTINCT
适用于您选择的整个列集。
很可能,GOTCHA
中的行具有相同的carretera_foto
,pto_km_radar
和sentido_radar
值但其他两个中的一个或两个的值不同列(limit_vel_ctera
和limit_vel_radar
)。 DISTINCT
中的SELECT
无法消除任何一行,因为至少有一个值不同,但RADAR
表上的主键约束拒绝前三列相同的行。< / p>