Ich arbeite bei einem Unternehmen mit Oracle 9i 9.2, und ich kann nicht aktualisieren.Zusammenführen mit nur 'wenn abgestimmt dann Update' In Oracle 9i
Eine Zusammenführung, die nur ein Update auf Übereinstimmungen durchführt, nicht ein Insert auf Nicht-Übereinstimmungen, scheint in dieser Version nicht zu funktionieren.
Ich versuche zu tun: Das
MERGE INTO CDLREFWORK.pricing d --table to insert to
USING V_REC S --table source
ON (D.item_id = S.item_id
and d.line_type = s.line_type
AND d.price_code =s.price_code)
WHEN MATCHED THEN UPDATE SET
d.APPLICATION_ID='CPMASI',
d.SYS_UPDATE_DATE=SYSDATE,
d.OPERATOR_ID=nvl(s.OPERATOR_ID, d.OPERATOR_ID),
d.LOCATION_ID=nvl(s.LOCATION_ID,d.LOCATION_ID),
d.ITEM_ID= nvl(s.ITEM_ID,d.ITEM_ID),
d.LINE_TYPE= nvl(s. LINE_TYPE, d.LINE_TYPE),
d.EXPIRATION_DATE=nvl(s.EXPIRATION_DATE,d.EXPIRATION_DATE),
d.PRICE_CODE= nvl(s.PRICE_CODE,d.PRICE_CODE),
d.TO_QTY=nvl(s.TO_QTY,d.TO_QTY),
d.PRICE= nvl(s.PRICE,d.PRICE),
d.CHARGE_CODE=nvl(s.CHARGE_CODE,d.CHARGE_CODE),
d.SOC=nvl(s.SOC,d.SOC),
d.COMMITMENT=nvl(s.COMMITMENT,d.COMMITMENT),
d.CAMBIAZO_CODE=nvl(s.CAMBIAZO_CODE,d.CAMBIAZO_CODE),
d.PPG_IND=nvl(s.PPG_IND,d.PPG_IND);
bekommt:
SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"
Ist dies nicht möglich, in 9i, wie dann würde ich stattdessen eine äquivalente Update?
[Das Syntaxdiagramm für 9i] (https://docs.oracle.com/cd/B10501_01/server.920/a96540/statements_915a.htm) zeigt, dass Sie sowohl "wenn abgestimmt" als auch "wenn nicht" haben müssen Übereinstimmungen. [Das änderte sich in 10gR1] (https://docs.oracle.com/cd/B12037_01/server.101/b10759/statements_9016.htm) (und wird in den [neuen Funktionen] (https://docs.oracle. com/cd/B12037_01/server.101/b10759/wnsql.htm) Liste) .. –
Hallo Alex. Bitte denk dran, ich kann kein – Alexandra15
Alex aktualisieren. du gewinnst!! – Alexandra15