Torna all'elenco degli articoli Articoli
One minute reading

Clausola DELETE RETURNING in PostgreSQL

L'istruzione DELETE standard in SQL restituisce il numero di righe cancellate.

DELETE FROM external_data;
DELETE 10

In PostgreSQL è possibile far sì che l'istruzione DELETE restituisca qualcos'altro. È possibile restituire tutte le righe che sono state cancellate.

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

Si possono restituire le colonne di propria scelta.

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

DELETE 2

Nel codice è possibile elaborare le righe restituite nello stesso modo in cui si elaborano i risultati di una query SQL. Ad esempio, si possono registrare i dati che sono stati cancellati.