PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Löschen Sie Zeilen einer Tabelle, die in einer Textdatei in Postgres angegeben ist

Das könnte einmal so aussehen:

CREATE TEMP TABLE tmp_x (nr int);

COPY tmp_x FROM '/absolute/path/to/file';

DELETE FROM mytable d
 USING tmp_x
 WHERE d.mycol = tmp_x.nr;

DROP TABLE tmp_x;

Für wiederholte Verwendung packen Sie es in eine plpgsql-Funktion mit Dateipfad / Tabellenname / Spaltenname als Parameter. Wenn Tabellen- oder Spaltennamen dynamisch sind, müssen Sie AUSFÜHREN für das DELETE .