Вы можете скопировать строки, а затем удалить только те строки, которые были скопированы:
insert into B (keycol, col1, col2)
select keycol, col1, col2 from A
Затем удалите строки в A, которые уже находятся в B:
delete A
from A
inner join B on A.key = B.key
Альтернативный синтаксис:
delete from A
where exists (
select * from B where A.key = B.key
)