Skip to content

Added the ability to update existing records via sql

Choose a tag to compare

@Friskes Friskes released this 04 Feb 09:00
· 4 commits to main since this release

Генерирует SQL формата:

`

        BEGIN;
        CREATE TEMP TABLE tmp_<таблица> AS TABLE <таблица> WITH NO DATA;
        ALTER TABLE <таблица> DISABLE TRIGGER ALL;
        COPY tmp_<таблица> ("<self.dict_internal_pk_field>", "field2", "field3") FROM STDIN WITH (FORMAT text);
        b962e385-610b-4d0a-806f-03311477a8f2	7026020	1.2.643.5.1.13.13.12.1.30.72291
        585193d7-d60a-4c5a-aa3e-d5cfd0f4bd77	7016244	1.2.643.5.1.13.13.12.4.16.63211
        \.

        UPDATE <таблица> AS t SET field2 = tmp.field2, field3 = tmp.field3 FROM tmp_<таблица> AS tmp WHERE t.<self.dict_internal_pk_field> = tmp.<self.dict_internal_pk_field>;
        INSERT INTO <таблица> SELECT * FROM tmp_<таблица> ON CONFLICT (<self.dict_internal_pk_field>) DO NOTHING;
        ALTER TABLE <таблица> ENABLE TRIGGER ALL;
        REINDEX TABLE <таблица>;
        COMMIT;

`