에 삽입 예상대로 나는 테이블의 또 다른PostgreSQL의 기능이
$BODY$
BEGIN
INSERT INTO backups.calls2 (uid,queue_id,connected,callerid2)
SELECT distinct (c.uid) ,c.queue_id,c.connected,c.callerid2
FROM public.calls c
WHERE c.connected is not null;
RETURN;
EXCEPTION WHEN unique_violation THEN NULL;
END;
$BODY$
그리고 구조에 하나 개의 테이블에서 데이터를 삽입하는 기능이 작동하지 :
내가 처음이 쿼리를 실행 한CREATE TABLE backups.nc_calls_id
(
uid character(30) NOT NULL,
queue_id integer,
callerid2 text,
connected timestamp without time zone,
id serial NOT NULL,
CONSTRAINT calls2_pkey PRIMARY KEY (uid)
)
WITH (
OIDS=FALSE
);
, 모든 것이 정상적으로 진행되었습니다. 200000 개의 행이 고유 ID가있는 새 테이블에 삽입되었습니다. 하지만 다시 실행하면 행이 삽입되지 않습니다.
uid의 값이 반복되는지 확인 했습니까? – Satya
그들은 고유합니다 – ssuperczynski
DISTINCT와 DISTINCT ON은 두 가지 다른 기능입니다. 어느 쪽이 필요합니까? SER에 무슨 일이 일어나고 있는지에 대한 예외 상황에서 RAISE INFO를 사용하십시오. –