PostgreSQLで削除された行の数を取得するにはどうすればよいですか?



How Get Number Deleted Rows Postgresql



解決:

あなたが使用することができますRETURNING句:

DELETE FROM tableWHERE条件がTRUERETURNING *;

その後、返された行数を確認する必要があります。あなたはCTEでそれを合理化することができます:



WITH削除済みAS(DELETEFROMテーブルWHERE条件がTRUERETURNING *)SELECT count(*)FROMdeleted;

これにより、削除された行の数だけが返されます。


これはJavaでは単純なはずです。



ステートメントstmt = connection.createStatement(); int rowsAffected = stmt.executeUpdate( 'delete from your_table'); System.out.println( '削除済み:' + rowsAffected);

java.sql.Statementを参照してください。


GET DIAGNOSTICSは、変更/削除されたレコードの数を表示するために使用されます。

サンプルコード



CREATE OR REPLACE FUNCTION fnName()RETURNS void AS $ BODY $宣言カウント数値;カウント開始:= 0; LOOP--ここでの条件は更新または削除します。 GET DIAGNOSTICS count = ROW_COUNT;通知を上げる '値:%'、カウント;ループの終了;終わり; $ BODY $ a