我用于更新列“p1_high_edu_ctry”的 sql 查询是:-
update ps_personal_data J
set (J.p1_high_edu_ctry) = (SELECT P.p1_high_edu_ctry FROM PS_PERS_DATA_EFFDT P
WHERE P.EFFDT=(SELECT MAX(K.EFFDT) FROM PS_PERS_DATA_EFFDT K
WHERE K.EFFDT<=SYSDATE
AND J.EMPLID IN(SELECT H.EMPLID FROM PS_AUDIT_PER_EFFDT H
where h.AUDIT_OPRID='CHGH00000063232')))
where exists(select 1 from PS_AUDIT_PER_EFFDT q where q.emplid=j.emplid) ;
但是我在更新时收到错误消息:-
ERROR at line 2:
ORA-01407: cannot update ("SYSADM"."PS_PERSONAL_DATA"."P1_HIGH_EDU_CTRY") to NULL
请有任何建议,为什么即使我在存在的地方处理它也不起作用???