ORACKLE中的两个表的数据导入和导出
表A和表B结构完全一样。A表数据要更新到B表去。两表通过字段ID来关联。
如果字段IMPORTDIRECTION=1,A.ID等于B.ID,则把A表中对应ID的那条数据update到B表去,然后把A表中的字段IMPORTDIRECTION修改成4.
如果字段IMPORTDIRECTION=1,A.ID不等于B.ID,说明是新数据。则把A表中对应ID的那条数据insert into到B表去,然后把A表中的字段IMPORTDIRECTION修改成4.请问下语句该如何写
[解决办法]
一条语句恐怕不行
MERGE INTO BUSING( SELECT ID,COL_1,COL_2... FROM A WHERE A.IMPORTDIRECTION=1)AON (B.ID=A.ID)WHEN MATCHED THEN UPDATE SET B.COL_1=A.COL_1, B.COL_2=A.COL_2, ...WHEN NOT MATCHED THEN INSERT (ID,COL_1,COL_2...)VALUE(A.ID,A.COL_2,...);UPDATE A SET IMPORTDIRECTION=4;