merge into CIDADE C using ( Select E.CIDADE, E.UF from EMPRESA E ) C_EMP on trim(C_EMP.CIDADE) = trim(C.DESCCIDADE) and trim(C_EMP.UF) = trim(C.UF) when matched then update set DESCCIDADE = DESCCIDADE || '*' --when matched and C.UF='RS' then /// tb pode ser dessa forma -- update set DESCCIDADE = DESCCIDADE || '**' when not matched then insert (CODCIDADE, DESCCIDADE, UF, CODEXPORTA) values ((Select (coalesce(max(C2.CODCIDADE),0)+1) from CIDADE C2), C_EMP.CIDADE, C_EMP.UF, '0000') ;