Infelizmente, não é possível inserir e excluir em uma consulta , mas você pode fazer tudo em uma transação se você estiver usando um mecanismo de armazenamento transacional (como o InnoDB). Além disso,
RETURNING
é suportado pelo Oracle e PostgreSQL, mas não pelo MySQL e, portanto, você precisa escrever delete
separado e insert
declarações. No entanto, usar uma transação garantirá que apenas os dados copiados com êxito serão excluídos da tabelaA. Considere o seguinte:
begin transaction;
insert into tableB select * from tableA where 'your_condition_here';
delete from tableA where 'your_condition_here';
commit;