比较简单的方式是在其中一个表临时加一个字段,交换完成后再把新增的字段删除
ALTER TABLE A ADD B NUMBER(22);--根据B表B字段类型添加,假设为number(22)
UPDATE A SET B=A,A=(SELECT B FROM B WHERE B_ID=A.A_ID)
UPDATE B SET B=(SELECT B FROM A WHERE A_ID=B.B_ID)
COMMIT;
ALTER TABLE A DROP COLUMN B;
ALTER TABLE A ADD B NUMBER(22);--根据B表B字段类型添加,假设为number(22)
UPDATE A SET B=A,A=(SELECT B FROM B WHERE B_ID=A.A_ID)
UPDATE B SET B=(SELECT B FROM A WHERE A_ID=B.B_ID)
COMMIT;
ALTER TABLE A DROP COLUMN B;
当然如果a字段,b字段都是数值,也可以
update A set a=a+(select b from B where B_ID=A.A_ID );
update B set b=-b+(select a from A where A_ID=B.B_ID );
update A set a=a-(select b from B where B_ID=A.A_ID );
commit;