sql >> Databasteknik >  >> RDS >> PostgreSQL

Att ignorera dubbletter av nycklar under 'copy from' i postgresql

Använd samma tillvägagångssätt som du beskrev, men DELETE (eller gruppera, eller ändra ...) duplicera PK i temptabellen innan du laddar till huvudtabellen.

Något i stil med:

CREATE TEMP TABLE tmp_table 
ON COMMIT DROP
AS
SELECT * 
FROM main_table
WITH NO DATA;

COPY tmp_table FROM 'full/file/name/here';

INSERT INTO main_table
SELECT DISTINCT ON (PK_field) *
FROM tmp_table
ORDER BY (some_fields)

Detaljer:CREATE TABLE AS , COPY , DISTINCT ON



  1. Få antalet dagar mellan två datum i Oracle, inklusive datumen

  2. Funktionen lower() på internationella tecken i postgresql

  3. De vanligaste PostgreSQL-felscenarierna

  4. Skickar användar-ID till PostgreSQL-utlösare