Zurück zur Artikelliste Artikel
Eine Minute lesen

DELETE RETURNING-Klausel in PostgreSQL

Die standardmäßige DELETE-Anweisung in SQL gibt die Anzahl der gelöschten Zeilen zurück.

DELETE FROM external_data;
DELETE 10

In PostgreSQL können Sie die DELETE-Anweisung dazu bringen, etwas anderes zurückzugeben. Sie können alle Zeilen, die gelöscht wurden, zurückgeben.

DELETE FROM external_data RETURNING *;
 id |        creation_date      | user_id |      data 
----+---------------------------+---------+---------------- 
101 | 2014-05-06 13:10:45.09484 |    23   | 'Some text'
102 | 2014-06-10 22:23:12.12045 |    25   | 'Some other text'
(2 rows) 

DELETE 2

Sie können die Spalten Ihrer Wahl zurückgeben.

DELETE FROM external_data RETURNING id;
 id 
----
101 
102 
(2 rows) 

DELETE 2

In Ihrem Code können Sie die zurückgegebenen Zeilen auf die gleiche Weise verarbeiten, wie Sie die Ergebnisse einer SQL-Abfrage verarbeiten würden. Sie können zum Beispiel die gelöschten Daten protokollieren.