Il est possible de supprimer des données sur une ou plusieurs tables en sql , postgresql propose la close using qui est une jointure avec la liste des tables que vous donnez.
Comme pour PostgreSQL : mise à jour d'une ligne la close returning existe et s'utilise de la même façon.
DELETE FROM <nom_de_la_table> WHERE condition; |
DELETE FROM <nom_de_la_table> WHERE condition RETURNING *; |
Pour supprimer les données dans plusieurs tables (elles doivent bien sur avoir un lien) :
DELETE FROM <nom_table1> USING <nom_table2> WHERE <champ1_table2_id> = <champ1_table2_ip>.id AND champ2_table2> = '<valeur>'; |
DELETE FROM <nom_table1> WHERE <champ1_table2_id> IN ( SELECT <champ1_table2_id> FROM <table2> WHERE <champ2_table2> = '<valeur') ; |
⚠️ Si vous voulez supprimer toutes les données d'une table mieux vaut utiliser : truncate / truncate cascade : PostgreSQL : supprimer toutes les données d'une ou plusieurs tables