Вы можете использовать оператор MERGE
следующим образом:
Допустим, EMPDEP
таблица имеет первичный ключ EMPDEP_UID
.
MERGE INTO EMPDEP TRG
USING
(SELECT A.EMPDEP_UID, A.PENDCD
FROM EMPDEP A, EEDPELIG B
WHERE A.GRPNO=B.GRPNO
AND A.EMPNO=B.EMPNO
AND A.DEPNO=B.DEPNO
AND A.GRPNO = 6606
AND A.SPOUSE = 'T'
AND B.ELIGFLAG01 = 'T'
AND SNAPTHRUDT ='DEC312999') SRC
ON (TRG.EMPDEP_UID = SRC.EMPDEP_UID)
WHEN MATCHED THEN
UPDATE SET TRG.PENDCD = 0
WHERE TRG.PENCD = 20;
Вместо него можно использовать unique keys
primary key
для идентификации записей, которые будут обновлены. Но использование primary key
безопасно, поскольку unique key
может содержать нули, которые могут изменить поведение нашего запроса.
Cheers !!