无法更新Oracle中的暂存记录,sql开发人员
问题描述:
下面是我写的更新给定字段的查询,但其引发无法将char更新为空错误。无法更新Oracle中的暂存记录,sql开发人员
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)
感谢您的回复 我已经使用%coalesce,现在它的工作 – user6924846