Helaas kunt u niet zowel invoegen als verwijderen in één zoekopdracht , maar u kunt het allemaal in één transactie doen als u een transactionele winkel-engine gebruikt (zoals InnoDB). Bovendien, RETURNING
wordt ondersteund door Oracle en PostgreSQL maar niet door MySQL en daarom moet u aparte delete
schrijven en insert
verklaringen.
Het gebruik van een transactie garandeert echter dat alleen de succesvol gekopieerde gegevens uit tabelA worden verwijderd. Overweeg het volgende:
begin transaction;
insert into tableB select * from tableA where 'your_condition_here';
delete from tableA where 'your_condition_here';
commit;