sql-Postgresのテキストファイルで指定されたテーブルの行を削除する

次のように、テーブルで削除する行の行番号を含むテキストファイルがあります。

3
32
40
55
[...]

テキストファイルを使用してテーブルからこれらの各行を削除するPostgreSQL互換のSQLステートメントを取得するにはどうすればよいですか?

ベストアンサー
一度それを行うと、次のようになります。

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;

繰り返し使用する場合は、ファイルパス/テーブル名/列名をパラメーターとしてplpgsql functionにラップします。テーブル名または列名が動的な場合、DELETEにはEXECUTEを使用する必要があります。

転載記事の出典を記入してください: sql-Postgresのテキストファイルで指定されたテーブルの行を削除する - コードログ