试试:
UPDATE ALLOT T
     SET T.PRODUCT_HEAT = (SELECT NVL(CALC_NUM * T.ALLOT_NUM ,'0')
                                FROM VL_USERHEAT K
                               WHERE T.USER_ID = K.USER_ID AND
                                     T.PDT_ID = K.PDT_ID AND
                                     K.CALC_TIME = T.ALLOT_TIME)
   WHERE T.ALLOT_TIME = CALC_TIME;