PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Supprimer les lignes d'une table spécifiée dans un fichier texte dans Postgres

Le faire une fois pourrait ressembler à ceci :

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;

Pour une utilisation répétée, enveloppez-le dans une fonction plpgsql avec chemin de fichier / nom de table / nom de colonne comme paramètres. Si le nom de la table ou de la colonne est dynamique, vous devez utiliser EXÉCUTER pour le DELETE .