Tyvärr kan du inte göra både infogning och borttagning i en fråga , men du kan göra allt i en transaktion om du använder en transaktionsbutiksmotor (som InnoDB). Dessutom RETURNING stöds av Oracle och PostgreSQL men inte av MySQL och därför måste du skriva separat delete och insert uttalanden.
Att använda en transaktion kommer dock att garantera att endast framgångsrikt kopierade data kommer att raderas från tabell A. Tänk på följande:
begin transaction;
insert into tableB select * from tableA where 'your_condition_here';
delete from tableA where 'your_condition_here';
commit;