无法更新 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)
下面是我为更新给定字段而编写的查询,但它的抛出无法将 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)