无法更新 Oracle 中的暂存记录,sql 开发人员

Unable to Update Staging record in Oracle , sql developer

下面是我为更新给定字段而编写的查询,但它的抛出无法将 char 更新为空错误。

UPDATE PS_H_BN_MCR_STG A SET A.H_BN_INITIAL_PARTN=(SELECT NVL(D.NAME_INITIALS,' ') 
  FROM PS_DEP_BEN_NAME D 
  WHERE D.EMPLID=A.EMPLID 
  AND D.DEPENDENT_BENEF=01 
  AND D.EFFDT=( 
SELECT MAX(D1.EFFDT) 
 FROM PS_DEP_BEN_NAME D1 
WHERE D1.EMPLID=D.EMPLID 
  AND D1.DEPENDENT_BENEF=D.DEPENDENT_BENEF 
  AND D1.EFFDT<=SYSDATE)) WHERE A.MARITAL_STATUS IN (1,6,7);

以这种方式检查您的解决方案:(1) 首先更改列(H_BN_INITIAL_PARTN) 现在允许空值 query.then 运行 查询

alter table       PS_H_BN_MCR_STG 
modify (H_BN_INITIAL_PARTN NULL);

(2)