2016-11-25 8 views
0

以下は、指定したフィールドを更新するために作成したクエリですが、スローするとnullエラーになることはありません。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); 

答えて

0

このようにあなたのソリューションをご確認ください:(1)最初に、今、以下のquery.then実行クエリによってヌル許可

alter table  PS_H_BN_MCR_STG 
 
modify (H_BN_INITIAL_PARTN NULL);

(2)カラム(H_BN_INITIAL_PARTN)を変更

+0

返信ありがとう 私は%coalesceを使用しています。 – user6924846

関連する問題