2016-11-25 44 views
0

下面是我寫的更新給定字段的查詢,但其引發無法將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); 

回答

0

檢查您的解決方案成這樣子:(1)先更改列(H_BN_INITIAL_PARTN)現在下面query.then運行查詢允許空

alter table  PS_H_BN_MCR_STG 
 
modify (H_BN_INITIAL_PARTN NULL);

(2)

+0

感謝您的回覆 我已經使用%coalesce,現在它的工作 – user6924846