Předpokládám, že col_id je primární klíč. Tedy v prohlášení o aktualizaci
EXECUTE IMMEDIATE 'UPDATE ' || dest || ' SET COUNTRY_CODE = :v1 WHERE col_id = :v2'
USING l_vc_CountryCode, l_vc_ColId;
vždy aktualizujete maximálně jeden řádek a tím podmínku
SQL%ROWCOUNT > 1
není nikdy pravda ( 1 není> 1 )
Pokud tedy ve své proceduře nemáte žádný jiný příkaz k potvrzení, nikdy tyto aktualizace neodsouhlasíte.
Mimochodem:jaký je účel tohoto
if SQL%ROWCOUNT > 1 THEN
inserts := inserts + 1;
counter := counter + 1;
IF counter > 500 THEN
counter := 0;
COMMIT;
END IF;
END IF;
proč se na konci své práce prostě nezavázat?