--try:declare tmp 类型;
...
begin
...
select Value into tmp From cConst Where Name='月平均工作天数';
Update cPayroll
 Set OTPAY=(Select Round((Nvl(CPAYROLL.BASEPAY,0.0)/tmp/8*(Nvl(CATTEND.OT1,0.0)+Nvl(CATTEND.OT2,0.0)+Nvl(CATTEND.OT3,0.0))*3),2)
 From CATTEND
 Where cPayroll.Badge = CATTEND.Badge(+)
)
   Where  Exists .....
...
end;