create or replace trigger aa
on A before insert
for each row
declare
 v_n number; 
begin
 select count(1) into v_n  
   from dual
   where exists 
        (select 1 from b where xh=:new.xh)
 if v_n > 0 then
   update b set sl=sl+:new.sl;
 else
   insert into b values(:new.xh,:new.sl)
 end if;
end;