sql >> データベース >  >> RDS >> PostgreSQL

postgresqlの「copyfrom」中に重複キーを無視するには

    説明したのと同じアプローチを使用しますが、DELETE (またはグループ化、または変更...)重複するPK メインテーブルにロードする前に、一時テーブルで。

    次のようなもの:

    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)
    

    詳細:CREATE TABLE ASCOPYDISTINCT ON



    1. Oracleの隠し機能

    2. 2つのデータベース間のMySQLデータベースの同期

    3. SQLServerクエリのUNIONALLとOR条件

    4. SQL結合2テーブル