Ik veronderstel dat col_id de primaire sleutel is. Dus in de updateverklaring
EXECUTE IMMEDIATE 'UPDATE ' || dest || ' SET COUNTRY_CODE = :v1 WHERE col_id = :v2'
USING l_vc_CountryCode, l_vc_ColId;
je werkt altijd maximaal één rij bij en dus de voorwaarde
SQL%ROWCOUNT > 1
is nooit waar ( 1 is niet> 1 )
Dus als je geen andere vastleggingsverklaring in je procedure hebt, zul je die updates nooit vastleggen.
Trouwens:wat is het doel hiervan
if SQL%ROWCOUNT > 1 THEN
inserts := inserts + 1;
counter := counter + 1;
IF counter > 500 THEN
counter := 0;
COMMIT;
END IF;
END IF;
waarom bind je je niet gewoon aan het einde van je werk?