有两个表lms.sap_materialmaster和plant.sap_materialmaster,需要根据MATNR=MATNR AND WERKS=WERKS AND DATAUPDATE=DATAUPDATE这个三个栏位不一样的修改数据(insert的我已经处理了)
UPDATE lms.sap_materialmaster a
SET MAKTX=:NEW.MAKTX,
...
ZZMTFK=:NEW.ZZMTFK
WHERE a.MATNR =b.MATNR
AND a.WERKS=b.WERKS
and b.dataupdate!=a.dataupdate;
...全文
5713打赏收藏
根据b表修改a表数据怎么写
有两个表lms.sap_materialmaster和plant.sap_materialmaster,需要根据MATNR=MATNR AND WERKS=WERKS AND DATAUPDATE=DATAUPDATE这个三个栏位不一样的修改数据(insert的我已经处理了) UPDATE lms.sap_materialmaster a SET MAKTX=:NEW.MAKTX, ... ZZMTFK=:NEW.ZZMTFK WHERE a.MATNR =b.MATNR AND a.WERKS
UPDATE LMS.SAP_MATERIALMASTER A
SET (MAKTX, .. . ZZMTFK) =
(SELECT NEW.MAKTX,.. . NEW.ZZMTFK
FROM PLANT.SAP_MATERIALMASTER
WHERE A.MATNR = B.MATNR
AND A.WERKS = B.WERKS
AND B.DATAUPDATE != A.DATAUPDATE
AND ROWNUM = 1)
WHERE EXISTS (SELECT 1
FROM PLANT.SAP_MATERIALMASTER
WHERE A.MATNR = B.MATNR
AND A.WERKS = B.WERKS
AND B.DATAUPDATE != A.DATAUPDATE)
UPDATE lms.sap_materialmaster a
SET MAKTX=:NEW.MAKTX,
...
ZZMTFK=:NEW.ZZMTFK
WHERE exists (select 1 from plant.sap_materialmaster b
where a.MATNR =b.MATNR
AND a.WERKS=b.WERKS
and a.dataupdate!=b.dataupdate);
where 里面的条件根据你实际需求写