sql >> Base de Datos >  >> RDS >> PostgreSQL

Eliminar filas de una tabla especificada en un archivo de texto en Postgres

Hacerlo una vez podría verse así:

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;

Para uso repetido, envuélvalo en una función plpgsql con ruta de archivo/nombre de tabla/nombre de columna como parámetros. Si el nombre de la tabla o columna es dinámico, debe usar EJECUTAR para el DELETE .