PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Excluir linhas de uma tabela especificada em um arquivo de texto no Postgres


Fazer isso uma vez pode ficar assim:
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, envolva-o em uma função plpgsql com caminho do arquivo / nome da tabela / nome da coluna como parâmetros. Se o nome da tabela ou coluna for dinâmico, você deve usar EXECUTAR para o DELETE .